Android開發工程師文集-1 小時學會Widget小組件開發
阿新 • • 發佈:2018-07-08
onu ide 最新 ani 布局文件 希望 lis 方便 name
前言
大家好,給大家帶來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 Service Timer timer=new Timer(); timer.shedule(new TimerTask(){ @Override public void run(){ updateTime(); } },0,1000); } //onDestroy public 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()重點
@Override
public 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小組件開發