編輯:Android開發實例
我們在開發App Widget時候,要創建一個RemoteView來呈現界面。但是會發現如果我們想要控制RemoteView中的view時候是無法使用findViewbyId來控制Child View對象。
從目前SDK情況看,android為我們了一些解決方法。
Remote View提供了一些方法可以操控child view。在文檔中可以查到如下函數:
SetBitmap,SetBoolean,SetBundle,setImageViewBitmap,setInt...
1. 第一個參數int viewId來確定操作哪個view
2. 第二個參數 methodName,是第一個參數view對象裡面提供的函數方法的名稱,是個字符串類型。比如“setVisibility”
3. 第三個參數 一般依據函數格子不同,但是其實質就是第二個參數methodName所需要的參數。
舉例:
如果我們需要把widget中的一個view臨時隱藏,我們可以這樣調用:remoteviews.setInt(textviewid,"setVisibility",VIEW.INVISIBLE);
又如,我們改變textview中一些字符串,可以調用:remoteviews.setInt(R.id.updatedate, "setText", R.string.updateinfor);
關鍵是理解第2個和第3個參數。
當然一般情況下對image,text,visible,我們沒有必要麻煩,可以直接調用setViewVisibility,setTextViewText,setImageViewResource。
但是並不是所有的child view方法都可以調用,因為透過Remote View提供的方法是有限的。如,當我們希望調用一個不帶參數的函數時就無能為力(就目前SDK看)。
期望後續Android會改善。
本文著重講解如何使用MaskFilter創建模糊陰影以及浮雕效果。 我們知道Canvas中的各種
Google Map(谷歌地圖)是Google公司提供的電子地圖服務。包括了三
1.盡量使用線性布局(LinearLayout)和相對布局(RelativeLayout),不要使用絕對布局。 2.盡量使用dip和sp,不要使用px。 3.為不
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用