2010-06-18 56 views
6

我想開發一個Android應用程序,但我不希望使用默認的控件(按鈕,複選框,單選按鈕等)。有沒有什麼方法可以自定義這些控件,使它看起來更好。如果是這樣的話,一些教程或指南會幫助我很多。謝謝....指南自定義UI控件

+0

難道你不能擴展? – Vinay 2010-06-18 15:45:00

回答

15

如果你想創建全新的UI元素,你應該閱讀developer guide topic on creating custom components/views

如果,另一方面,你只是想改變現有的UI元素的外觀,下方是的東西,你需要做的不完全名單。假設您熟悉Android resources framework和佈局系統。

  • 首先,瞭解這些在Android源代碼(AOSPGitHub's mirror)被實現。所有你感興趣的代碼是在frameworks/base.git項目(快速鏈接:resourcesJava sources

  • 對於每種類型的UI元素,創造Nine Patch PNG drawables每個UI狀態(默認情況下,禁用,壓,突出重點的等)以及每個相關密度(例如中密度,高密度和超高密度)。這些PNG應位於您的res/drawable-mdpi/,res/drawable-hdpi/res/drawable-xhdpi/目錄中。

  • 對於每種類型的用戶界面元素的,創建一個state list XML drawable<selector>),這將在您res/drawable/目錄。可以找到默認Android按鈕的狀態列表here

  • 設置你的按鈕/文本/等的android:background屬性狀態列表繪製名。例如,如果您的狀態列表可繪製爲res/drawable/mybutton.xml,則屬性值應爲@drawable/mybutton

    注:您可以使用themes以減少冗餘(即讓他們DRY)的XML文件。

+0

非常感謝你,這就是我要找的。 – 2010-06-19 01:35:49