學習筆記之Widget

2021-07-11 22:24:56 字數 1633 閱讀 7170

widget (微件 小組件)

1、新建layout檔案

對於widget的布局檔案有限制!不是所有的元件都能夠使用的。   

容器類檢視目前只支援四種:linearlayout,relativelayout,framelayout,gridlayout

容器類目前支援的檢視元件:

analogclock 模擬時鐘

chronometer 電子時鐘、計時器

button

imagebutton

textview

imageview

viewflipper

等(隨著sdk版本的迭代,可支援的檢視數量在增加)

不能用的:自定義檢視一概不能用(view)

上述可用檢視的子類一概不能用          (比如edittext)

2、新建widget的描述檔案

在res資料夾下新建xml資料夾,並新建xml檔案 

android:minwidth=""

android:minheight=""

android:updateperiodmillis=""

android:initiallayout=""

minwidht/minheight:小組件拖動到螢幕上之後,系統會根據你指定的這兩個值估算會占用多少格。

螢幕上會被系統劃分為4*4個格仔,每個格仔具體尺寸,根據螢幕尺寸和密度的不同會有所

差異。google早期給出了乙個minwidth/minheight的經驗計算公式:70*n-30 dp

在高密度大尺寸螢幕下還有乙個經驗公式:74*n-2

updateperiodmillis 系統會按照該時間間隔,通過傳送系統廣播的方式,來更新widget的顯示內容。傳送的系統廣播的action是

updateperiodmillis:指定的時間間隔不得低於30分鐘所對應的毫秒值。低於該值,則設定無效,系統依然會每隔半小時傳送一次廣播。

onreceive:用來收廣播

onenable:當前僅當,第乙個widget被拖到桌面上的時候,該方法會被呼叫。在第乙個widget被拖到到桌面的時候,系統會傳送系統廣播,onreceive方法收到該廣播後 會呼叫onenable方法。

onupdate:當widget被拖動桌面上,該方法都會被呼叫一次。widget被拖到到桌面的時候,系統會傳送系統廣播,onreceive方法收到該廣播後會呼叫onupdate方法。然 後,每隔updateperioidmillis時間,系統還會傳送一次系統廣播,該方法依然會被呼叫一次。

ondeleted:當乙個widget從桌面上被刪除的時候,該widget的ondeleted方法會被呼叫。

ondisable:當且僅當最後乙個widget從桌面上刪除的時候,該widget除了ondeleted方法會被呼叫之外,它的ondisable方法也會被呼叫

4、在androidmanifest.xml裡進行註冊第三步寫好的類

註冊時使用的標籤是

需要至少指明1個可以接收的廣播action

同時還必須宣告乙個標籤:

有該標籤才能說明,這是乙個widget而不是乙個broadcastreceiver

Qt學習筆記 Widget布局管理

以 c gui programming with qt 4,second edition 為參考 例項 查詢對話方塊 包含三個檔案,finddialog.h,finddialog.cpp及main.cpp。ifndef finddialog h define finddialog h include...

PHP學習之小物件(widget)

最近在學習php的yii框架,也是為了公司的後台的開發。在了解後台的登入介面是,不在是之前的html那樣直接使用標籤來體現表單控制項,而是使用yii的一些小物件來代替標籤。在使用cactiveform的類後,需要了解下此類下的一些代表方法。labelex model,name 顯示label tex...

YII框架分析筆記7 掛件widget

widget好處是方面重用和靈活移動。cwidget是所有的widge父類,同時它又是是cbasecontroller的子類,cwidget提供了類似ccontroller中的一些方法,但render 方法渲染的時候不帶layout,而且渲染的時候 this指得是cwidget物件,而不是ccont...