欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android控件AppWidgetProvider使用方法詳解

 更新時(shí)間:2017年08月31日 14:13:15   作者:丶白澤  
這篇文章主要為大家詳細(xì)介紹了Android控件AppWidgetProvider的使用方法詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

介紹

AppWidgetProvider是Android中提供的用于實(shí)現(xiàn)桌面小工具的類,其本質(zhì)是一個(gè)廣播,即BroadcastReceiver,在實(shí)際的使用中,把AppWidgetProvider當(dāng)成一個(gè)BroadcastReceiver即可

1. 為AppWidget提供一個(gè)文件定義小控件的基本配置信息

在資源文件夾res目錄下新建xml文件夾,添加app_widget_provider_info.xml文件內(nèi)容為:

<?xml version="1.0" encoding="utf-8"?>
  <!--小控件寬高-->
  <!--android:minWidth="40dp"-->
  <!--android:minHeight="40dp"-->
  <!--更新時(shí)間-->
  <!--android:updatePeriodMillis="86400000"-->
  <!--用于指定預(yù)覽圖片。即搜索到widget時(shí),查看到的圖片。若沒有設(shè)置的話,系統(tǒng)為指定一張默認(rèn)圖片。-->
  <!--android:previewImage="@drawable/widget_flashlight"-->
  <!--widget 添加到手機(jī)主屏幕中的layout-->
  <!--android:initialLayout="@layout/flash_light_widget"-->
  <!--android:resizeMode : widget可以被拉伸的方向。horizontal表示可以水平拉伸,vertical表示可以豎直拉伸-->
  <!--android:resizeMode="horizontal|vertical"-->

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
  android:minWidth="40dp"
  android:minHeight="40dp"
  android:updatePeriodMillis="86400000"
  android:previewImage="@drawable/ic_launcher"
  android:initialLayout="@layout/widget_layout"
  android:resizeMode="horizontal|vertical">
</appwidget-provider>

2. 創(chuàng)建一個(gè)WidgetProvider繼承自AppWidgetProvider;

public class MyAppWidgetProvider extends AppWidgetProvider {
  //沒接收一次廣播消息就調(diào)用一次,使用頻繁 
  public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
  }

  //每次更新都調(diào)用一次該方法,使用頻繁 
  public void onUpdate(Context context, AppWidgetManager appWidgetManager,
             int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);
  }

  //沒刪除一個(gè)就調(diào)用一次 
  public void onDeleted(Context context, int[] appWidgetIds) {
    super.onDeleted(context, appWidgetIds);
  }

  //當(dāng)該Widget第一次添加到桌面是調(diào)用該方法,可添加多次但只第一次調(diào)用 
  public void onEnabled(Context context) {
    super.onEnabled(context);
  }

  //當(dāng)最后一個(gè)該Widget刪除是調(diào)用該方法,注意是最后一個(gè) 
  public void onDisabled(Context context) {
    super.onDisabled(context);
  }
}

3. 為 WidgetProvider創(chuàng)建一個(gè)布局文件

布局為常見布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="64dp"
  android:layout_height="64dp"
   >
  <ImageButton
    android:id="@+id/widget_led"
    android:layout_margin="2dp"
    android:background="@drawable/widget_led"
    android:src="@drawable/ic_launcher"
    android:scaleType="center"
    android:layout_width="64.0dip"
    android:layout_height="64.0dip" />

</RelativeLayout>

4. 注冊(cè)Manifest.xml

配置基本和廣播一樣,使用receiver 節(jié)點(diǎn),meta-data 節(jié)點(diǎn)的name 為固定格式,resource為第一步定義的配置信息,intent-filter節(jié)點(diǎn)第三個(gè)action必須提供

<receiver android:name=".jf.jfclean.widget.FlashLightWidget">
      <intent-filter>
        <action android:name="action_led_on" />
        <action android:name="action_led_off" />
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
      </intent-filter>

      <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/flash_light_widget_info" />
    </receiver>

5. 使用PendingIntent和RemoteViews對(duì)AppWidget綁定監(jiān)聽器,使用RemoteViews在MyAppWidgetProvider的onUpdate()方法中為Botton綁定監(jiān)聽器

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android實(shí)現(xiàn)仿Windows7圖片預(yù)覽窗格效果

    Android實(shí)現(xiàn)仿Windows7圖片預(yù)覽窗格效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)仿Windows7圖片預(yù)覽窗格效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • flutter的環(huán)境安裝配置問題及解決方法

    flutter的環(huán)境安裝配置問題及解決方法

    Flutter是Google推出的基于Dart語言開發(fā)的跨平臺(tái)開源UI框架,旨在統(tǒng)一紛紛擾擾的跨平臺(tái)開發(fā)框架,在UI層面上多端共用一套Dart代碼來實(shí)現(xiàn)多平臺(tái)適配開發(fā),這篇文章主要介紹了flutter的環(huán)境安裝配置問題,需要的朋友可以參考下
    2020-06-06
  • Android購物分類效果實(shí)現(xiàn)

    Android購物分類效果實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Android購物分類效果的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 詳解Android內(nèi)存泄露及優(yōu)化方案

    詳解Android內(nèi)存泄露及優(yōu)化方案

    這篇文章主要介紹了詳解Android內(nèi)存泄露及優(yōu)化方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Android 如何實(shí)現(xiàn)動(dòng)態(tài)申請(qǐng)權(quán)限

    Android 如何實(shí)現(xiàn)動(dòng)態(tài)申請(qǐng)權(quán)限

    這篇文章主要介紹了Android 如何實(shí)現(xiàn)動(dòng)態(tài)申請(qǐng)權(quán)限。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • android引導(dǎo)用戶開啟自啟動(dòng)權(quán)限的方法

    android引導(dǎo)用戶開啟自啟動(dòng)權(quán)限的方法

    今天小編就為大家分享一篇android引導(dǎo)用戶開啟自啟動(dòng)權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Android自定義底部彈出框ButtomDialog

    Android自定義底部彈出框ButtomDialog

    這篇文章主要為大家詳細(xì)介紹了Android自定義底部彈出框ButtomDialog,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android ProgressDialog的實(shí)例詳解

    Android ProgressDialog的實(shí)例詳解

    這篇文章主要介紹了Android ProgressDialog的實(shí)例詳解的相關(guān)資料,Android 開發(fā)項(xiàng)目的時(shí)候經(jīng)常會(huì)遇到耗時(shí)的操作,這里就講下Android ProgressDialog的應(yīng)用,需要的朋友可以參考下
    2017-07-07
  • 基于Android實(shí)現(xiàn)一個(gè)簡易音樂播放器

    基于Android實(shí)現(xiàn)一個(gè)簡易音樂播放器

    在Android平臺(tái)上開發(fā)一個(gè)音樂播放器是一項(xiàng)常見的任務(wù),這涉及到對(duì)音頻文件的處理、用戶界面設(shè)計(jì)以及多媒體框架的運(yùn)用,本項(xiàng)目基于樣例代碼進(jìn)行擴(kuò)展,雖然功能相對(duì)簡單,但包含了Android音樂播放器開發(fā)的核心知識(shí)點(diǎn),需要的朋友可以參考下
    2024-08-08
  • Android實(shí)現(xiàn)帶有指示器的進(jìn)度條

    Android實(shí)現(xiàn)帶有指示器的進(jìn)度條

    這篇文章主要介紹了Android實(shí)現(xiàn)帶有指示器的進(jìn)度條的示例代碼,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-05-05

最新評(píng)論