Android 桌面元件 widget 初探

2021-08-27 01:32:52 字數 2613 閱讀 6180

2、在 android 如何使用 widget

getinstalledproviders()

返回乙個list的資訊

getinstance(context context)

3、後台註冊receiver

5、如何使textview 在兩種文字間來回跳轉

問題丟擲來了,那麼一起解決它吧。

**如下:

主要**如下: 並重寫兩個方法 tip:onupdate 為元件在桌面上生成時呼叫,並更新元件ui,onreceiver 為接收廣播時呼叫更新ui,一般這兩個方法是比較常用的。

3、後台註冊receiver

後台配置檔案**如下:

先看**:

rv = new remoteviews(context.getpackagename(), r.layout.main);

intent intentclick = new intent(click_name_action);

pendingintent pendingintent = pendingintent.getbroadcast(context, 0,

intentclick, 0);

rv.setonclickpendingintent(r.id.textview01, pendingintent);

} 此方法為建立元件時 onupdate 呼叫的更新ui的方法,**中使用remoteview 找到元件的布局檔案,同時為其設定廣播接收器click_name_action並且通過remoteview 的setonclickpendingintent 方法找到我想觸發事件的textview 為其設定廣播。接著 @override

public void onreceive(context context, intent intent)

if (intent.getaction().equals(click_name_action)) else

toast.maketext(context, boolean.tostring(uitil.ischange),

toast.length_long).show();

uitil.ischange = !uitil.ischange;

} .getinstance(context);

context, widgetprovider.class));

} 在onreceiver 中通過判斷傳進來的廣播來觸發動作。

5、如何使textview 在兩種文字間來回跳轉

效果圖如下:

**:

package com.terry;

import android.content.componentname;

import android.content.context;

import android.content.intent;

import android.widget.remoteviews;

import android.widget.toast;

private static final string click_name_action = "com.terry.action.widget.click";

private static remoteviews rv;

@override

// todo auto-generated method stub

for (int i = 0; i < n; i++)

} @override

public void onreceive(context context, intent intent)

if (intent.getaction().equals(click_name_action)) else

toast.maketext(context, boolean.tostring(uitil.ischange),

toast.length_long).show();

uitil.ischange = !uitil.ischange;

} .getinstance(context);

context, widgetprovider.class));

} rv = new remoteviews(context.getpackagename(), r.layout.main);

intent intentclick = new intent(click_name_action);

pendingintent pendingintent = pendingintent.getbroadcast(context, 0,

intentclick, 0);

rv.setonclickpendingintent(r.id.textview01, pendingintent);

} }

intent it = new intent(context, ***x.class);

pendingintent pit = pendingintent.getactivity(context, 0, it, 0);

} 應在最後一行,否則無效。

另可參考android music例程中的widget.

AppWidget 桌面元件

應用必須安裝在記憶體裡,才能顯示widgetandroid name processwidgetprovider intent filter android resource xml process widget info receiver onreceive 只要有廣播,就會呼叫 onenable...

Android 管理Android手機桌面

android 管理android手機桌面 沒有接觸手機程式設計之前,我就很好奇,那些主題背景和動態桌布是如何做出來的,如何把圖示放到手機桌面上,學習了關於管理android手機桌面之後,我大致了解了這些內容,算是掃了一下盲了。我相信只要用過一段android系統手機的使用者,對於手機桌面的操作是非...

Android 設定手機桌面

在android系統中經常需要設定手機桌面功能,此文就通過程式來講解如何在android系統中設定手機桌面。android前端xml檔案 android後台activity程式 package com.example.fiveandroid public class mainactivity ext...