亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android桌面組件App Widget完整案例

2020-04-11 11:24:47
字體:
來源:轉載
供稿:網友

本文實例講述了Android桌面組件App Widget用法。分享給大家供大家參考。具體如下:

這里模擬一個案例:把AppWidget添加到桌面后,點擊AppWidget后AppWidget文本會輪回改變

main.xml布局文件:

<?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"> <TextView android:id="@+id/tv"  android:layout_width="fill_parent"  android:layout_height="wrap_content"   android:text="程序入口"   android:textSize="50dip"/></LinearLayout>

res/xml/my_appwidget.xml布局文件:

<?xml version="1.0" encoding="utf-8"?><appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="120dp"  android:minHeight="60dp" android:updatePeriodMillis="1000" android:initialLayout="@layout/main"></appwidget-provider>

清單文件:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.activity" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon"  android:label="@string/app_name">  <receiver android:name=".TestActivity">   <meta-data android:name="android.appwidget.provider"    android:resource="@xml/my_appwidget">   </meta-data>   <intent-filter>    <action android:name="COM.LJQ.ACTION.WIDGET.CLICK"></action>    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />   </intent-filter>  </receiver> </application> <uses-sdk android:minSdkVersion="7" /></manifest>

變量類UtilTool:用來控件文本改變:

package com.ljq.activity;public class UtilTool { public static boolean isChange=true;}

TestActivity類,繼承自AppWidgetProvider:

package com.ljq.activity;import android.app.PendingIntent;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.widget.RemoteViews;public class TestActivity extends AppWidgetProvider { // 自定義一個Action名 private static final String ACTION_CLICK_NAME = "COM.LJQ.ACTION.WIDGET.CLICK"; private RemoteViews rv; @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {  System.out.println("onUpdate");  //獲取R.layout.main布局,通過類RemoteViews對布局R.layout.main里的控件進行操作  /*rv = new RemoteViews(context.getPackageName(), R.layout.main);  Intent intentClick = new Intent(ACTION_CLICK_NAME);  PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentClick, 0);  rv.setOnClickPendingIntent(R.id.tv, pendingIntent);  ComponentName cmp = new ComponentName(context, TestActivity.class);  AppWidgetManager myAppWidgetManager = AppWidgetManager.getInstance(context);  myAppWidgetManager.updateAppWidget(cmp, rv);*/  final int N = appWidgetIds.length;  for (int i = 0; i < N; i++) {   int appWidgetId = appWidgetIds[i];   updateAppWidget(context, appWidgetManager, appWidgetId);  } } //AppWidget生命周期: 每接收一次,廣播執行一次為一個生命周期結束。 //也就是說在重寫AppWidgetProvider類里面聲明全局變量做狀態判斷, //每次狀態改變AppWidgetProvider再接收第二次廣播時即為你重新初始化也就是說重新實例化了一次AppWidgetProvider。 //今天我因為在里面放了一個boolean值初始化為true,觀察調試看到每次進入都為TRUE故你在設置桌面組件時, //全局變量把它聲明在另外一個實體類用來判斷是沒問題的,切忌放在本類。 @Override public void onReceive(Context context, Intent intent) {  System.out.println("onReceive");  if (rv == null) {   rv = new RemoteViews(context.getPackageName(), R.layout.main);  }  if (intent.getAction().equals(ACTION_CLICK_NAME)) {   if (UtilTool.isChange) {    rv.setTextViewText(R.id.tv, "abc");   } else {    rv.setTextViewText(R.id.tv, "123");   }   UtilTool.isChange = !UtilTool.isChange;   AppWidgetManager appWidgetManger = AppWidgetManager.getInstance(context);   int[] appIds = appWidgetManger.getAppWidgetIds(new ComponentName(context, TestActivity.class));   appWidgetManger.updateAppWidget(appIds, rv);  }else{   super.onReceive(context, intent);  } } private void updateAppWidget(Context context,  AppWidgetManager appWidgeManger, int appWidgetId) {  rv = new RemoteViews(context.getPackageName(), R.layout.main);  Intent intentClick = new Intent();  intentClick.setAction(ACTION_CLICK_NAME);  PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentClick, 0);  rv.setOnClickPendingIntent(R.id.tv, pendingIntent);  appWidgeManger.updateAppWidget(appWidgetId, rv); }}

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产丝袜另类| 欧美精品在线观看| 国产男女猛烈无遮挡91| 中文字幕亚洲第一| 精品国产一区二区三区四区在线观看| 亚洲人成绝费网站色www| 一级做a爰片久久毛片美女图片| 在线精品91av| 全色精品综合影院| 欧美日韩高清在线观看| 日韩亚洲在线观看| 久久精品久久久久久国产 免费| 中文字幕日韩精品在线观看| 欧美情侣性视频| 欧美日韩国产影院| 亚洲综合中文字幕在线观看| 日韩欧美a级成人黄色| 亚洲国产精品热久久| 日本精品性网站在线观看| 亚洲国产97在线精品一区| 精品久久久久久国产91| 色无极亚洲影院| 富二代精品短视频| 亚洲精品suv精品一区二区| 欧美天天综合色影久久精品| 欧美人成在线视频| 国产一区二区成人| 国产精品你懂得| 日韩av在线播放资源| 不卡毛片在线看| 国产91对白在线播放| 欧美亚洲视频在线看网址| 欧美日韩国产综合新一区| 久久久91精品| 国产福利视频一区二区| 欧洲日韩成人av| 97色在线观看免费视频| 亚洲欧美一区二区激情| 日韩免费观看高清| 国产精品成人一区二区| 91久久精品国产| 1769国内精品视频在线播放| 久久久之久亚州精品露出| 亚洲欧美综合v| 成人激情视频免费在线| 亚洲激情视频网站| 欧美在线欧美在线| 日韩久久午夜影院| 久久久亚洲福利精品午夜| 亚洲精品电影在线观看| 国产区亚洲区欧美区| 亚洲人午夜色婷婷| 热久久免费国产视频| 国产成人精品999| 日韩一区在线视频| 一区二区三区精品99久久| 久久影视电视剧免费网站| 久久高清视频免费| 亚洲人成网站777色婷婷| 成人亚洲欧美一区二区三区| 国产一区二区三区视频在线观看| 中文字幕av一区二区| 亚州av一区二区| 精品亚洲va在线va天堂资源站| 日韩视频免费中文字幕| 日本精品久久中文字幕佐佐木| 91精品国产91久久久久福利| 日韩av免费在线观看| 亚洲国产成人久久综合一区| 日韩电影大全免费观看2023年上| 久久久久99精品久久久久| 日韩欧美中文免费| 91免费视频网站| 高清一区二区三区日本久| 中文字幕在线亚洲| 一本一本久久a久久精品综合小说| 亚洲成人精品在线| 日本久久久久久| 蜜臀久久99精品久久久久久宅男| 日韩一区二区三区国产| 久久久久久久久中文字幕| 久久久亚洲精品视频| 国产在线视频2019最新视频| 久久精品电影网| 欧美在线视频一区二区| 91在线无精精品一区二区| 久久国产一区二区三区| 亚洲欧美日韩久久久久久| 国产精品国产福利国产秒拍| 久久久成人的性感天堂| 国产精品入口免费视频一| 亚洲精品资源美女情侣酒店| 国产一区玩具在线观看| 国产成人综合av| 欧美日韩成人免费| 国产亚洲a∨片在线观看| 日韩色av导航| 国产精彩精品视频| 成人免费黄色网| 精品视频9999| 日韩中文字幕网站| 欧美激情视频三区| 中国人与牲禽动交精品| 国产精品9999| 91精品国产综合久久香蕉最新版| 国产v综合ⅴ日韩v欧美大片| 国产精品av免费在线观看| 激情亚洲一区二区三区四区| 欧美成人精品不卡视频在线观看| 色偷偷综合社区| 乱亲女秽乱长久久久| 欧美日韩成人免费| 日韩精品999| 国产精品aaaa| 亚洲美女视频网站| 国产精品视频久久| 日本一区二区三区四区视频| 亚洲图中文字幕| 在线视频中文亚洲| 亚洲成人av资源网| 国产精品欧美亚洲777777| 欧美激情2020午夜免费观看| 国产精品一区二区女厕厕| 亚洲а∨天堂久久精品9966| 国产亚洲aⅴaaaaaa毛片| 国产精品电影在线观看| 亚洲日本成人女熟在线观看| 久久精视频免费在线久久完整在线看| 国产精品青青在线观看爽香蕉| xvideos亚洲人网站| 久久久久久这里只有精品| 国产精品美乳一区二区免费| 在线免费看av不卡| 国产成人精品优优av| 欧美日韩成人在线视频| 日韩av一区二区在线| 欧美富婆性猛交| 亚洲国产97在线精品一区| 欧日韩在线观看| 欧美日韩亚洲精品一区二区三区| 免费不卡在线观看av| 青草成人免费视频| 一本色道久久综合狠狠躁篇的优点| 97碰碰碰免费色视频| 久久久久这里只有精品| 91精品免费久久久久久久久| 久热国产精品视频| 亚洲一区二区三区香蕉| 欧美日韩综合视频| 精品二区三区线观看| 日韩欧美成人精品| 欧美性猛交xxxx乱大交极品| 97人人模人人爽人人喊中文字| 影音先锋欧美在线资源| 欧美激情高清视频| 一本色道久久综合狠狠躁篇的优点| 久久免费视频网| 日韩毛片在线观看| 九九精品在线视频| 欧美性做爰毛片| 亚洲风情亚aⅴ在线发布| 国产成人精品网站| 国产精品吴梦梦| 日韩精品免费视频|