自定義toast
1.創建Toast
Toast toast = new Toast(context);
2.設置view
toast.setView();//這裏可以使用自定義佈局
3.把自定義佈局轉化成一個view對象
View view = View.inflate(context,R.layout.my_toast,null);
4.初始化自定義裏面的佈局內容
5.把創建的view傳入toast中,toast.setView()方法
6.設置時長
toast.setDuration(0);
7.指定窗體的位置
toast.setGravity(gravity,xOffset,yOffset);
gravoty:顯示的位置如果是項部用Gravity.TOP
後面兩個是水平跟垂直方向的偏移量
widget:桌面小控件,桌面小應用,這個是運行在桌面應用裏的(com.android.launcher這個是桌面的應用)
api位置:Dev Guide-->App Widgets-->the Basics說明了創建的步驟
Declaring an App Widged in the Manifest這是這個widget在androidManifest.xml中配置條目
1.創建一個類繼承AppWidgetProvider,這個其實是繼承了一個廣播接收者BroadcastReceiver
2.在androidManifest.xml中配置widget的條目
<receiver android:name="ExampleAppWidgetProvider" >//這個是類名
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />//關心定期更新的事件
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_info" />配置當前程序的源數據
</receiver>
3.我們創建android:resource="@xml/example_appwidget_info"裏的xml文件,在res資源目錄下創建一個xml文件夾-->創建一個xml資源的type指定是AppWidget Provider
這個在api的Adding the AppWidgetProviderInfo Metadata中有定義
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"//這是widget自動更新的時間,這個毫秒,最短時間是30分鐘(30*60*1000),如果配置1000還是會在半小時去更新widget,如果要實現更新就要用手工代碼的方式去更新
android:previewImage="@drawable/preview"//這個在2.3以後允許我們在彈出的時候能更改我們的圖標,在2.3以前是隻能是程序名稱,不需要就刪除這個條目
android:initialLayout="@layout/example_appwidget"//widget初始的佈局
android:configure="com.example.android.ExampleAppWidgetConfigure" //如果你想在第一次創建widget時指定一個activity給他配置內容,用不到就去掉這個條目
android:resizeMode="horizontal|vertical">在2.3以後android程序允許我們對widget進行縮放,這裏是指定縮放的方式水平,垂直或者全部,用不到刪除
</appwidget-provider>