Study on Android【四】–顯示控制項使用

來源:互聯網
上載者:User
Android的介面顯示同樣也是基於控制項的。通常是用View(包括ViewGroup)控制項配上XML的樣式來做的。具體細節不想說了,可以參考
Samples裡的ApiDemos/View,和View的Doc,以及Implementing a
UI這篇Doc。其他還有很多,感覺算是SDK講述的最多的內容。
從控制項的使用上,和網頁的設計類似,盡量用parent_width之類的抽象長度,用Theme來做風格,抽取所有的字串等資訊做本地化設計。相關內容參看Implementing a UI就好。

類比較重要的是資料繫結控制項。如果做過ASP.Net會從中看到很多類似的地方。一個支援資料繫結的控制項,比如ListView。可以通過一個
ListAdapter綁定到一個資料來源上。ListAdapter是一個抽象類別,主要的實作類別包括SimpleAdapter和
SimpleCursorAdapter。前者是綁定一個靜態Array,後者是綁定一個動態Cursor。Cursor前面說過,是一個指向資料來源
的隨機迭代器,將View綁定到Cursor通常要設定這樣幾個參數。一個是每一行的樣式,稱作Row
Layout,其實就是一個普通的Layout的XML檔案。還有就是一個列和現實控制項的對應關係。那個控制項顯示哪個列的值,這是需要配置的。為了定製一
個良好的資料顯示控制項,最簡單你可以定製很PP的Row
Layout,複雜一點就是可以重載繫結控制項View,或者是適配器ListAdapter。如果是一個資料顯示密集的應用,且你對UI有些追求,這個工
作估計是必不可少的。
一個主要用於顯示資料內容的Activity,可以選擇派生自ListActivity。它提供了一個具有ListView
的Layout,還有simple_list_item_1, simple_list_item_2,
two_line_list_item等預設的Row
Layout,還有一些比較不錯的API,和可供響應選擇Item的事件。可以滿足你比較基礎的需求。如果你覺得只有一個ListView的介面太突兀,
你可以為這個ListActivity指定一個Layout,需要注意的是,你需要提供一個id為@android:id/list的ListView控
件,避免Activity在內部偷偷尋找該控制項的時候失敗。
除了這些要求,做好UI還有注意易用性和效率。快速鍵是一個比較不錯的選擇,在
Activity中調用setDefaultkeyMode(SHORTCUT_DEFAULT_KEYS),可以開啟快速鍵模式,然後你可以將菜單綁定
到指定快速鍵上就OK了。個人覺得Tip也是一個比較重要的東西,但目前觀察看來,這個東西只能夠自己提供了。介面的動態性有時候是不可避免的,比如說菜
單就是一個需要經常根據游標位置提供不同的選項。這個東西Android很人道的考慮到了,你可以參看NodeList這個Sample。它採取的應該是
一個靜態類比動態方式,這樣有助於提高速度。你也可以利用ViewInflate,動態從一個XML建立一個控制項。成本據Doc說很大,不到萬不得已不
要使用。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.