重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在Eclipse中android程序項目目錄結構下的res文件夾新建drawable文件夾,并在drawable文件夾下新建各類的xml樣式文件,供layout文件夾下的xml布局文件引用,以滿足對程序界面的需求開發。如圖1和圖2是drawable下xml樣式文件的樣式類型。
成都創新互聯公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十余年網站建設經驗成都創新互聯公司是成都老牌網站營銷服務商,為您提供成都網站設計、成都做網站、網站設計、html5、網站制作、品牌網站設計、小程序定制開發服務,給眾多知名企業提供過好品質的建站服務。
圖1、drawable下xml樣式文件的樣式類型(一)
圖2、drawable下xml樣式文件的樣式類型(二)
接下來我們要詳細解析以下各類xml樣式文件的作用及其使用方法,請點擊目錄查看相應解析。
2、animation-list
使用animation-list樣式可以實現逐幀動畫效果,例如WiFi網絡信號的強弱表示或者語音聊天聲音的強弱表示,分為增強和減弱兩種逐幀動畫效果。?
首先是放置圖片素材,如圖3所示。將其根據屏幕分辨率大小分別放一套圖片到不同屏幕分辨率的drawable文件夾下,android系統會根據機器的屏幕分辨率到相應屏幕分辨率的drawable文件夾里面去找相應的圖片素材,以兼容不同屏幕分辨率的安卓機器屏幕。
圖3、iv1到iv4?
其次是信號增強即圖片順序播放的效果,在drawable下新建animation_list_sequence.xml樣式文件。
?xml version="1.0" encoding="utf-8"?!--
根標簽為animation-list;
其中oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫;
其中visible規定drawable的初始可見性,默認為flase;
其中variablePadding若為true則允許drawable的距離在當前選擇狀態下有所改變(If true, allows the drawable’s padding to change based on the current state that is selected.),默認為false;
根標簽下,通過item標簽對動畫中的每一個圖片進行聲明;
android:duration 表示展示所用的該圖片的時間長度,單位為毫秒;
--animation-list ?xmlns:android=""
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
item android:drawable="@drawable/iv1" android:duration="200"/item
item android:drawable="@drawable/iv2" android:duration="200"/item
item android:drawable="@drawable/iv3" android:duration="200"/item
item android:drawable="@drawable/iv4" android:duration="200"/item/animation-list1234567891011121314151617181920
再者是信號增強即圖片順序播放的效果,在drawable下新建animation_list_reverse.xml樣式文件。
?xml version="1.0" encoding="utf-8"?!--
根標簽為animation-list;
其中oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫;
其中visible規定drawable的初始可見性,默認為flase;
其中variablePadding若為true則允許drawable的距離在當前選擇狀態下有所改變(If true, allows the drawable’s padding to change based on the current state that is selected.),默認為false;
根標簽下,通過item標簽對動畫中的每一個圖片進行聲明;
android:duration 表示展示所用的該圖片的時間長度,單位為毫秒;
--animation-list ?xmlns:android=""
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
item android:drawable="@drawable/iv4" android:duration="200"/item
item android:drawable="@drawable/iv3" android:duration="200"/item
item android:drawable="@drawable/iv2" android:duration="200"/item
item android:drawable="@drawable/iv1" android:duration="200"/item/animation-list1234567891011121314151617181920
然后在layout文件夾下新建xml布局文件activity_animation_list.xml,引用上面寫好的drawable文件夾下的xml樣式文件。
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
ImageView ? ? ? ?android:id="@+id/iv_animation_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/animation_list_sequence" /
Button ? ? ? ?android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sequence"
android:text="順序顯示" /
Button ? ? ? ?android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="stop"
android:text="停止動畫" /
Button ? ? ? ?android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="reverse"
android:text="倒序顯示" //LinearLayout12345678910111213141516171819202122232425262728293031
然后在src包下新建Activity的Java文件AnimationListActivity.java,用于演示操作。
package com.zcz.drawablexmltest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.ImageView;public class AnimationListActivity extends Activity{
private ImageView mIv;
private AnimationDrawable mAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_animation_list);
mIv = (ImageView) findViewById(R.id.iv_animation_list);
} ?
public void sequence(View view){
mIv.setImageResource(R.drawable.animation_list_sequence);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
} ? ?public void stop(View view){
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.stop();
} ? ?public void reverse(View view){
mIv.setImageResource(R.drawable.animation_list_reverse);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
}
}
匹克匹克
PickPik是AI智能分類的無版權圖片分享網站。為了獲得更好的搜索結果,這個網站中的每張照片都是人工命名的,團隊還開發了一個智能AI神經網絡,為每張圖片賦予審美評分。只有最高評價的圖片才會顯示在搜索中。
本網站上的所有圖像幾乎可以用于任何商業設計項目,包括網頁設計、應用程序設計、PSD和HTML模板等。博客作者和社交媒體團隊可以免費使用這些圖片。
2、不飛濺
UnSplash免費高清壁紙分享網是一個堅持每天分享高清攝影圖片的網站,每天更新一個高質量的圖片素材,都是生活中的風景作品。新鮮的生活圖片可以作為桌面壁紙,也可以應用于各種需要的環境。UnSplash網站上的圖片又大又清晰,適合各種用途。
3、PixaBay
PixaBay免費高質量圖片素材分享網是一家提供無版權圖片素材的圖片提供商。無論數字還是印刷格式,個人還是商業使用,都可以免費使用本網站的任何圖片,沒有原作者署名的要求。
同時,Pixabay還推出了手機App找圖,支持iOS和Android平臺。Pixabay的手機app功能非常簡單。你可以把它想象成一個無限的相冊,里面有大量的圖庫素材。刷手機可以快速切換瀏覽,也可以輸入關鍵詞通過搜索找出相關圖片。
4、食物喂養
FoodiesFeed免費美食素材分享網是一個提供大量免費高分辨率美食攝影圖片的網站,每周至少更新五次。可以下載并用于任何個人或商業目的,類別包括早餐、咖啡、烹飪、水果、主菜、甜點等。
FoodiesFeed材料網站是由23歲的捷克人Jakub創辦的。他不僅是一個吃貨,還是一個美食攝影師。雖然是個業余愛好者,但不影響他拍攝美食素材,分享給其他用戶。用戶可以通過電子郵件訂閱這個網站的內容,每周都可以獲得免費的美食資料。
5、股票快照
StockSnap免費圖片素材高清資源庫是一個提供高清攝影作品的素材庫,可以免費下載使用。提供的資源相當實用。本網站由多名攝影師組成,提供豐富的免費照片,未經授權可隨意使用。
StockSnap網站的設計其實很簡單。其目的是為尋找美圖的用戶提供一個完整豐富的圖片素材資源庫。每天攝影師都會上傳發布自己的作品,找出高質量高清晰的照片更新到網站上,讓更多的人免費使用。
可以使用Tween動畫實現氣球上升的效果,具體實現如下:
1:在res目錄下新建anim目錄,并添加file_name(文件名自定義就好).xml
?添加以下代碼:
?xml?version="1.0"?encoding="utf-8"?
translate?xmlns:android=""
android:duration="5000"
android:fromXDelta="50"
android:fromYDelta="800"
android:toXDelta="50"
android:fillAfter="true"
android:toYDelta="0"?
/translate
注釋:
android:duration="5000" // 動畫持續時間
android:fromXDelta="50" // 起始x坐標
android:fromYDelta="800"http:// 起始y坐標
android:toXDelta="50" ? // 結束x坐標
android:fillAfter="true"http:// 動畫結束后將素材停留在結束位置
android:toYDelta="0" ? ?// 結束y坐標
坐標可以通過代碼動態進行計算,本例僅僅演示功能...
2:添加一布局文件 test.xml
? ?代碼如下
?xml?version="1.0"?encoding="utf-8"?
LinearLayout?xmlns:android=""
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EFF8FE"
android:orientation="vertical"?
ImageView
android:id="@+id/startup"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6"
android:background="@drawable/ball"
android:scaleType="fitXY"?/
RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:orientation="vertical"?
TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/string_copy_right"
android:textSize="12sp"?/
/RelativeLayout
/LinearLayout
效果圖如下:
3.創建Activity
public?class?StartUpActivity?extends?Activity?{
private?ImageView?image;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_startup);
//?取得資源
image?=?(ImageView)?findViewById(R.id.startup);
//?設置動畫
image.setAnimation(AnimationUtils.loadAnimation(this,
R.anim.translate_sample));
}