国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于Android Widget實例學習教程

移動開發
關于Android Widget實例學習教程是本文要介紹的內容,主要是來了解并學習Android Widget實例的應用,具體內容的實現來看本文詳解。

關于Android Widget實例學習教程是本文要介紹的內容,主要是來了解并學習Android Widget實例的應用,具體內容的實現來看本文詳解。應用程序窗口小部件(Widget)是微小的應用程序視圖,可以被嵌入到其它應用程序中(比如桌面)并接收周期性的更新。

為了創建一個Widget,需要AppWidgetProviderInfo與AppWidgetProvider。AppWidgetProviderInfo主要為Widget描述metadata,如Widget的布局,更新頻率和AppWidgetProvider類,這在xml里面定義。AppWidgetProvider定義基本的方法允許你基于廣播事件與Widget進行交互。通過它,當Widget更新,可用,不可用或者刪除的時候,你將收到廣播。

下面的截屏顯示本實例的效果圖:

此Widget很簡單,就是以鬧鈴面板為背景,在上面顯示字符串。

由于涉及的文件比較多,先看一下文件存放目錄圖:

注:在res/drawable-ldpi/加入背景資源圖片。可以看到res下面有三個文件夾:drawable-hdpi, drawable-ldpi, drawable-mdpi.三個文件夾分別對應不同的屏幕分辨率。

drawable-hdpi里面存放高分辨率的圖片,如:WVGA (480x800),FWVGA (480x854)

drawable-mdpi里面存放中等分辨率的圖片,如HVGA (320x480)

drawable-ldpi里面存放低分辨率的圖片,如QVGA (240x320)

為了使我們的程序滿足不同分辨率的機型,Android在res下面分別建立不同文件夾,我們可以把不同分辨率機型的圖片放在不同目錄下面。

源代碼如下:

首先,申明AppWidgetProvider類在應用的AndroidManifest.xml文件里 :

  1. AndroidManifest.xml:   
  2.  
  3. <?xml version="1.0" encoding="utf-8"?>    
  4. <manifest xmlns:android="http://schemas.android.com/apk/res/android"    
  5.       package="com.android.test"    
  6.       android:versionCode="1"    
  7.       android:versionName="1.0">    
  8.     <application android:icon="@drawable/clockgoog_dial" android:label="@string/app_name">    
  9.         <receiver android:name=".TestWidget"    
  10.                   android:label="@string/app_name">    
  11.             <intent-filter>    
  12.                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />    
  13.             </intent-filter>    
  14.             <meta-data android:name="android.appwidget.provider"    
  15.                        android:resource="@xml/widget_provider"    
  16.             />    
  17.         </receiver>    
  18.     </application>    
  19.     <uses-sdk android:minSdkVersion="7" />    
  20. </manifest>     
  21. <?xml version="1.0" encoding="utf-8"?> 
  22. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  23.       package="com.android.test" 
  24.       android:versionCode="1" 
  25.       android:versionName="1.0"> 
  26.     <application android:icon="@drawable/clockgoog_dial" android:label="@string/app_name"> 
  27.         <receiver android:name=".TestWidget" 
  28.                   android:label="@string/app_name"> 
  29.             <intent-filter> 
  30.                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
  31.             </intent-filter> 
  32.             <meta-data android:name="android.appwidget.provider" 
  33.                  android:resource="@xml/widget_provider" 
  34.             /> 
  35.         </receiver> 
  36.     </application> 
  37.     <uses-sdk android:minSdkVersion="7" /> 
  38. </manifest>   

注:<receiver>元素需要andriod:name屬性,它指明被Widget使用的AppWidgetProvider.

 <intent-filter>元素必須包含帶有android:name屬性的<action>元素。這一屬性指明AppWigetProvider可接收ACTION_APPWIDGET_UPDATE廣播。這是你必須明確聲明的唯一廣播。AppWidgetManager自動發送Widget廣播到AppWidgetProvider。

     <meta-data>元素指明AppWidgetProviderInfo資源,需要如下屬性:

android:name-指明元數據名稱。使用android.appwidget.provider把數據指定為對AppWidgetProviderInfo的描述。
android:resource-指明AppWidgetProviderInfo資源的位置。
其次,增加AppWidgetProviderInfor元數據在res/xml/widget_provider.xml中:

  1. res/xml/widget_provider.xml:   
  2.  
  3. <?xml version="1.0" encoding="utf-8"?>    
  4. <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"    
  5.     android:minWidth="50dip"    
  6.     android:minHeight="50dip"    
  7.     android:updatePeriodMillis="10000"    
  8.     android:initialLayout="@layout/main"/>     
  9. <?xml version="1.0" encoding="utf-8"?> 
  10. <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
  11.  android:minWidth="50dip" 
  12.  android:minHeight="50dip" 
  13.  android:updatePeriodMillis="10000" 
  14.  android:initialLayout="@layout/main"/>   

注:AppWidgetProviderInfo定義基本的Widget屬性,如最小布局維數,初始的布局資源,更新Widget頻率和在創建時間啟動Activity的配置。在XML資源里使用單一的<appwidget-provider>元素定義AppWidgetProviderInfo對象并且把它保存在工程的res/xml/文件夾下。

然后,創建Widget布局文件在res/layout/main.xml中:

  1. res/layout/main.xml:   
  2.  
  3. <?xml version="1.0" encoding="utf-8"?>    
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  5.     android:orientation="vertical"    
  6.     android:layout_width="fill_parent"    
  7.     android:layout_height="fill_parent"    
  8.     android:background="@drawable/clockgoog_dial">    
  9.         
  10.     <TextView      
  11.         android:id="@+id/textview"    
  12.         android:layout_width="fill_parent"     
  13.         android:layout_height="wrap_content"     
  14.         android:text="@string/hello"    
  15.         android:textSize="10px"    
  16.         android:textColor="#ff0000"/>    
  17. </LinearLayout>    
  18. <?xml version="1.0" encoding="utf-8"?> 
  19. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  20.     android:orientation="vertical" 
  21.     android:layout_width="fill_parent" 
  22.     android:layout_height="fill_parent" 
  23.     android:background="@drawable/clockgoog_dial"> 
  24.       
  25.  <TextView    
  26.   android:id="@+id/textview" 
  27.      android:layout_width="fill_parent"   
  28.      android:layout_height="wrap_content"   
  29.      android:text="@string/hello" 
  30.    android:textSize="10px" 
  31.      android:textColor="#ff0000"/> 
  32. </LinearLayout> 

 

注:你必須在XML里為你的Widget定義一個初始的布局文件,然后保存在工程的res/layout/目錄下。如果你熟悉在XML中聲明布局,那么創建Widget布局是簡單的。你可以使用View對象設計你的Widget,然而你必須注意Widget基于RemoteViews,它并不支持布局或者view控件中的每一種。

***,使用AppWidgetProvider類在TestWidget.java中:

  1. package com.android.test;    
  2. import android.appwidget.AppWidgetManager;    
  3. import android.appwidget.AppWidgetProvider;    
  4. import android.content.Context;    
  5. public class TestWidget extends AppWidgetProvider {    
  6.     /** Called when the activity is first created. */    
  7.     @Override    
  8.     public void onUpdate(Context context, AppWidgetManager appWidgetManager,    
  9.             int[] appWidgetIds) {    
  10.         super.onUpdate(context, appWidgetManager, appWidgetIds);    
  11.     }    
  12. }    
  13. package com.android.test;  
  14. import android.appwidget.AppWidgetManager;  
  15. import android.appwidget.AppWidgetProvider;  
  16. import android.content.Context;  
  17. public class TestWidget extends AppWidgetProvider {  
  18.     /** Called when the activity is first created. */  
  19.  @Override  
  20.  public void onUpdate(Context context, AppWidgetManager appWidgetManager,  
  21.    int[] appWidgetIds) {  
  22.   super.onUpdate(context, appWidgetManager, appWidgetIds);  
  23.  }  
  24. }  

注:繼承于BroadcastReceiver的AppWidgetProvider類是一種很方便處理Widget廣播的類。AppWidgetProvider只接收與Widget相關的事件廣播,如當Widget更新,刪除,可用和不可用的時候。當這些廣播事件發生的時候,AppWidgetProvider收到如下的方法調用:onUpdated,onDeleted,onEnabled,onDisabled,onReceive。

最重要的AppWidgetProvider回調函數是onUpdated,因為當每一個Widget增加的時候它都會被調用(除非你使用配置Activity)。如果你的Widget接收任意用戶交互事件,那么你需要在回調函數中注冊事件handler。如果你的Widget沒有創建臨時文件或者數據庫,或者執行需要clean-up的工作,那么onUpdated可能是你需要注冊的唯一回調函數。

小結:關于Android Widget實例學習教程的內容介紹完了,希望通過Android Widget實例內容的學習能對你有所幫助。

責任編輯:zhaolei 來源: CSDN博客
相關推薦

2011-09-07 10:34:48

Android Wid

2011-09-07 13:00:36

2011-09-09 16:38:51

Android Wid源碼

2011-09-07 14:01:41

Android Wid實例

2011-09-07 17:54:40

Android Wid開發

2011-09-07 16:28:46

QT WidgetQWidget

2011-09-08 13:11:07

Android Wid實例

2011-02-28 13:04:27

RelativeLayAndroid Wid

2011-09-08 16:07:13

Widget配置文件

2011-09-08 15:40:45

Android Wid組件

2011-09-07 11:15:25

2011-09-08 14:01:01

Android Wid實例

2011-09-09 13:23:17

Widget

2011-09-07 14:25:53

Android Wid設計

2011-09-08 13:36:26

Android Wid播放器

2011-09-08 10:29:27

Windows MobWidget

2011-09-09 11:05:56

Widget

2011-09-02 13:51:00

PhoneGap框架HTML5

2011-08-23 15:34:56

Lua模式 匹配

2011-08-24 14:14:13

LUA環境 配置
點贊
收藏

51CTO技術棧公眾號

欧美日韩在线观看一区二区三区| 爱久久·www| 综合激情网站| 性金发美女69hd大尺寸| 日韩免费福利视频| 日韩一二在线观看| 九色成人在线| 久久久国际精品| 久久久久资源| 欧美丰满日韩| 欧美一级久久久| 91大神在线网站| 久久午夜色播影院免费高清| 俄罗斯精品一区二区| 欧美日韩麻豆| 精品自拍偷拍| 日韩av在线免播放器| 日本视频一二区| 99精品99| 日韩av网站在线| 不卡av免费在线| 女生裸体视频一区二区三区| 久久久久久夜精品精品免费| 国产精品久久久久秋霞鲁丝| 日韩在线免费播放| 国产又黄又大久久| 国产精品mp4| 欧美91在线|欧美| 欧美人与物videos另类| 久久免费午夜影院| av一级在线| 粉嫩av一区二区三区| 国产亚洲欧美另类一区二区三区| 亚洲成av人片在线观看www| 欧美日韩在线观看一区二区 | 精品婷婷色一区二区三区蜜桃| 婷婷六月国产精品久久不卡| 亚洲午夜激情网页| 成人在线播放网址| 日韩激情视频在线观看| 性欧美激情精品| 国产尤物久久久| 亚洲国产精品久久91精品| 国产一区福利视频| 国产日产精品一区二区三区四区的观看方式 | 欧美精品一区二区性色a+v| 丝袜久久网站| 国产大片精品免费永久看nba| 国产精品白丝av| 久久视频这里有精品| 欧美黄色小说| 国产一区二区三区在线| 日韩免费成人| 成人av免费电影| 欧美oldwomenvideos| 欧美福利一区二区三区| 国产乱码字幕精品高清av | 日韩国产一区久久| 美日韩一区二区三区| 黄页免费在线观看视频| 亚洲精品国产无天堂网2021| 毛片av在线| 久久视频国产精品免费视频在线| 久久99高清| 婷婷亚洲婷婷综合色香五月| 久久精品水蜜桃av综合天堂| melody高清在线观看| 日韩一区二区在线视频| 国产精品国内免费一区二区三区| 日本免费一区二区三区| 国产精品理论片| 久久国产精品黑丝| 国产成人精品国内自产拍免费看| 香蕉av一区| 中文字幕日韩综合av| 99久久精品费精品国产风间由美 | 免费看亚洲片| 日本xxxx黄色| 日韩一区二区高清| 欧美人妖在线| 自拍日韩欧美| 成人免费性视频| 亚洲风情亚aⅴ在线发布| 日韩在线精品强乱中文字幕| 国内成人精品一区| 在线看片日韩| 8x8x最新地址| 亚洲国产一区二区三区在线观看 | 日本在线精品| 91久久综合亚洲鲁鲁五月天| 国产河南妇女毛片精品久久久| 涩爱av在线播放一区二区| 中文字幕久热精品视频在线| 亚洲韩日在线| 春暖花开亚洲| 欧美成人合集magnet| 美女www一区二区| 成人三级黄色免费网站| 国产97人人超碰caoprom| 欧美性感一区二区三区| 精品视频在线播放免| 久9久9色综合| 免费看日本毛片| 日韩一区二区免费电影| 香蕉国产精品| 亚洲美女在线免费观看| 欧美激情欧美狂野欧美精品| 国产九九视频一区二区三区| www久久日com| 国产精品视频福利| 午夜国产精品一区| 亚洲警察之高压线| 日韩电影大全在线观看| 欧美日免费三级在线| 日日摸夜夜添夜夜添国产精品 | 亚洲一区有码| 38少妇精品导航| 国产精品jizz在线观看美国| 日韩av电影在线观看| 夜色资源站国产www在线视频| 欧美日韩国产中文字幕 | 高清一区二区| 男女啪啪免费观看| 在线观看日韩www视频免费| 国产精品视频| 美女隐私在线观看| 国内自拍中文字幕| 伊人久久五月天| 久久久久久影院| 亚洲最大综合网| 亚洲精品视频免费| 久久午夜精品| 日本福利视频| 亚洲精品一区二区三区蜜桃下载 | 在线观看一区视频| www.亚洲.com| 中文字幕日韩一区二区三区| 萌白酱国产一区二区| 欧美日韩国产页| 销魂美女一区二区三区视频在线| 在线观看免费播放网址成人| 成人小视频免费观看| heyzo高清国产精品| 在线观看三级网站| 色琪琪综合男人的天堂aⅴ视频| 国产成人午夜高潮毛片| jizz亚洲女人高潮大叫| 精品成在人线av无码免费看| 色青青草原桃花久久综合 | 5566成人精品视频免费| 亚洲激情av在线| 国产99亚洲| 美女欧美视频在线观看免费| 精品国产一区二区三区四区精华 | 丰满的护士2在线观看高清| 亚洲图色在线| 综合久久五月天| 亚洲国产精品激情在线观看| 激情五月综合网| 欧美一区二区三区| 久久久成人精品一区二区三区| www.国产一区| 一区二区三区资源| 亚洲国产一区二区三区a毛片| 国产www视频在线观看| 日韩一区二区高清视频| 国模私拍视频一区| 欧洲色大大久久| 久久国产精品99精品国产| 日韩一二三区在线观看| 在线观看h视频| 欧美日韩一级在线| 97视频国产在线| 欧美日韩国产成人在线免费| 懂色av一区二区三区免费观看| 亚洲国产网址| 日本大胆在线观看| 91国产精品视频在线观看| 亚洲综合大片69999| 国产亚洲精品91在线| 亚洲国产精品嫩草影院| 视频一区中文字幕| 国产 日韩 欧美 综合 一区| bbbbbbbbbbb在线视频| 野外做受又硬又粗又大视频√| 国产精品久久久久久av下载红粉 | 最新在线观看av| 久久免费视频2| 国产成人精品最新| 亚洲精品国产精品国自产观看浪潮| 国产精品电影一区二区| 免费亚洲婷婷| 亚洲三级网页| 丝袜老师在线| 免费a级毛片在线观看| 成人免费毛片播放| 天天综合色天天综合色hd| 国产精品va在线| 久久精品亚洲精品| 日韩你懂的在线观看|