2012-07-01 222 views
0

我的應用程序中有很多按鈕,它們根據文本內容的大小而有所不同。我想自定義按鈕,但我不知道我是否應該使用Android創建自定義按鈕

A)Ninepatch png格式

B)創建

ÇAndroid的XML)的Photoshop的PNG

我想要的按鈕縮放很好,因此不會因屏幕尺寸而變形。上述方法的積極和消極之處是什麼?有沒有一種理想的方式來解決這個問題?

回答

1

這取決於它們應該是什麼樣子。圓角?複雜的圖像?陰影?純色?

如果你想要簡單的顏色單調按鈕,xml drawables是最好的解決方案。你可以通過xml來做圓角,所以如果你想要的是平淡的,這是最好的選擇。

如果您使用的是圖像,那麼9補丁是最好的選擇。使用sdk附帶的draw9patch工具來玩弄它。你也不一定只需要留意角落,有時你可能想要根據圖像分割可調整大小的區域。

PNGs是最後的手段,因爲它們是3個選項中最不靈活的。順便說一句,您應該考慮爲所有按鈕使用狀態列表,而不管您如何實現按鈕使用的可繪製對象。看到下面的鏈接:

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

+0

感謝您的徹底答案! –

+0

@JamesFazio np,您還可以使用層列表使用九個補丁和xml形狀的組合來放置一些相當不錯的drawable。 http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList – Flynn81