歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android App Widget設計

App Widget也是一種UI組件,它可以讓一小塊程序(program piece)嵌入到桌面上。與普通的Widget(TextView、WebView等)相比,有以下幾個不同:

  1. App Widget是有生命的UI組件,它會自動更新自身內容;
  2. Widget不能自動更新自身內容,只能被動的等待用戶的調用;

應用上,由於App Widget自動更新的特性,所以它比較適合用來設計一些天氣,新聞,日歷等功能。

App Widget的設計流程:

  1. 規劃App Widget的大小及更新時間,在/res/xml目錄新增一份XML文件;
  2. 規劃App Widget的UI,修改res/layout/main.xml;
  3. 編寫App Widget的主程序;
  4. 編輯AndroidManifest.xml,設定App Widget可接受App Widget的更新事件:android.appwidget.action.APPWIDGET_UPDATE

及設計一個App Widget至少需要以下4個文件:

  • res/xml/appwidget_provider.xml
  • res/layout/main.xml
  • src//HelloAppWidgetProvider.java
  • AndroidManifest.xml

下面是一個具體實現App Widget的例子:

新建一個Android工程HelloAppWidget,在/res目錄新建一個文件夾xml,在/res/xml目錄下新建一個appwidget_provider.xml文件:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2.      
  3. <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:minWidth="85dp"  
  5.     android:minHeight="30dp"  
  6.     android:updatePeriodMillis="1000"  
  7.     android:initialLayout="@layout/main"  
  8.     >  
  9. </appwidget-provider>  
說明如下:

  1. <appwidget-provider>標簽定義App Widget的屬性
  2. android:minWidth  寬度
  3. android:minHeight    長度
  4. android:updatePeriodMillis定義App Widget的更新頻率,Android框架每隔一段時間,會callback AppWidgetProvider類的onUpdate()事件;以前android的版本設定為1毫秒為單位,現在版本為了省電,更新時間為30~60分鐘,所以現在設定30分鐘以內的更新意義不大,系統默認為30~60分鐘更新
  5. android:initialLayout屬性指定此App Widget的UI layout定義,”@”符號在Android的XML定義檔案,代表「目錄」之意,因此”@layout/main”表示「layout目錄下的main.xml檔案」
為了界面美觀,google提供了App Widget的外觀設計原則,以下是官方提供的設計參考:

Copyright © Linux教程網 All Rights Reserved