標籤:schema 定製 pre run etc tcl 配置 layout resource
前言
大家好,給大家帶來Android開發工程師文集-1 小時學會Widget小工具開發的概述,希望你們喜歡
學會用Widget (小工具)
Widget小工具很方便,很快捷,可以個人化,自己定製,相關功能,可以即時更新最新內容。
- Widget布局,Widget配置,AppWidgetProvider與Configuration Activity
- Android Widget
- xml布局類型:AppWidget Provider
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" //引用的布局檔案 android:initialLayout="@layout/widget" android:minHeight="50dp" android:minWidth="100dp" //設定更新時間 android:updatePerioMillis="66666666"></appwidget-provide>
public class WidgetProvider extends AppWidgetProvider { @Override public void onDeleted(Context context,int[] appWidgetIds){ super.onDeleted(context,appWidgetIds);} @Override public void onDisabled(Context context){ super.onDisabled(context); } @Override public void onEnabled(Context context){ super.onEnabled(context); } @Override public void onReceive(Context context,Intent intent){ super.onReceive(context,intent); } @Override public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){ super.onUpdate(context,appWidgetManager,appWidgetIds);}}
//TimerService extends ServiceTimer timer=new Timer();timer.shedule(new TimerTask(){ @Override public void run(){ updateTime(); } },0,1000);}//onDestroypublic void onDestroy(){ super.onDestroy(); timer=null;}//updateTime();private void updateTime(){ String time = simpletime.format(new Date());}
Widget就是個案頭小工具,有了Widget,我們可以直接在案頭上進行各種操作。
Widget使用
- AndroidManifest中聲明AppWidget
- xml中定義AppWidget設定檔
- layout中定義Widget布局檔案
- 建立類繼承AppWidgetProvider類
//資訊清單檔中<meta-data android:name="android.appwidget.provider" android:resource="@layout/widget_setting"/>
//onUpdate()重點@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.layout_widget); //Intent intent = new Intent(); Intent intent = new Intent(); intent.setClass(context, TestWidget.class); intent.setAction(WIDGET_BTN_ACTION); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); remoteViews.setOnClickPendingIntent(R.id.widget_btn, pendingIntent); appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); }
//資訊清單檔 <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_provider"/>
總結
- 本文講了Android開發工程師文集-1 小時學會Widget小工具開發,如果您還有更好地理解,歡迎溝通
- 定位:分享
Android&Java知識點,有興趣可以繼續關注
Android開發工程師文集-1 小時學會Widget小工具開發