日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 系列 5.13添加简单光栅动画

發布時間:2023/12/18 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 系列 5.13添加简单光栅动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
5.13添加簡單光柵動畫

問題
您需要向屏幕添加動畫圖像。

Android對用戶界面動畫有很好的支持;使用AnimationDrawable類很容易對圖像進行排序。
討論
要創建動畫,首先使用圖形程序生成要排序的圖像。每個圖像表示動畫的一幀;圖像通常將是相同的大小,每個幀之間的變化根據需要。
這個動畫的技巧將順序一些交通燈圖像。圖像可以使用開源矢量圖形程序Inkscape(參見http://inkscape.org)生成。所使用圖像的副本可從打開剪貼圖庫(http://www.openclipart.org/)獲得;搜索“交通燈關閉”,選擇圖像,單擊查看SVG按鈕,并從瀏覽器保存該文件。然后在Inkscape中打開該文件。
動畫將包括四個圖像,顯示在英國使用的交通燈的順序:紅色,紅色和黃色,綠色,黃色和回到紅色。 SVG圖像具有所有可用的光 - 它們只是隱藏在半透明的圓圈后面。要生成第一個圖像,請選擇覆蓋紅燈的圓圈并將其刪除。
然后從編輯菜單中使用全選以突出顯示整個圖像。使用文件菜單,選擇導出位圖。在“導出位圖”對話框中的“位圖大小”下,在“高度”框中輸入150,然后為要生成的文件選擇目錄和文件名,例如red.png。單擊導出按鈕導出位圖。刪除覆蓋黃燈的圓圈,再次單擊全選,然后像以前一樣導出到文件;例如,red_yellow.png。使用編輯菜單并選擇撤消(兩次)以覆蓋紅色光和黃色光,然后刪除覆蓋綠色光的圓。導出到green.png。再次使用undo覆蓋綠燈并刪除覆蓋黃燈的圓。將位圖導出到yellow.png(見圖5-22)。


圖5-22。導出位圖對話框
四個文件現在準備好動畫。


啟動Android項目。將四個生成的文件復制到res / drawable目錄中。動畫列表需要在同一目錄中定義。在res / drawable中創建一個名為uktrafficlights.xml的新文件。在這個新文件中添加以下內容:

<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/red" android:duration="2000" /> <item android:drawable="@drawable/red_yellow" android:duration="2000" /> <item android:drawable="@drawable/green" android:duration="2000" /> <item android:drawable="@drawable/yellow" android:duration="2000" /> </animation-list>
這將按動畫的順序列出要動畫化的圖像,并顯示每個需要顯示的時間(以毫秒為單位)。如果動畫在運行圖像后需要停止,則屬性android:oneshot設置為true。

在程序的布局文件中,添加了一個ImageView,其源代碼為@ drawable / uktrafficlights(即指向創建的文件):

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/imageView1" android:src="@drawable/uktrafficlights" android:layout_height="wrap_content" android:layout_width="wrap_content"/> </LinearLayout>


在Activity類中,聲明了一個AnimationDrawable(執行動畫的Android類)。在onCreate它被分配給ImageView使用的Drawable。最后,通過調用AnimationDrawable start()方法啟動動畫(如果需要,有一個stop()方法可用于結束動畫)。在onWindowFocusChanged中調用start方法,以確保在動畫開始之前所有內容都已加載(可以很容易地使用按鈕或其他類型的輸入啟動)。例5-21顯示了主活動的代碼。
實施例5-21。主要活動

public class main extends Activity { AnimationDrawable lightsAnimation; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView lights = (ImageView) findViewById(R.id.imageView1); lightsAnimation=(AnimationDrawable) lights.getDrawable(); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); lightsAnimation.start(); } }
圖像動畫可以是有用的,以增加屏幕的興趣,可以用于游戲或卡通。



總結

以上是生活随笔為你收集整理的Android 系列 5.13添加简单光栅动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。