如果我想用圖片作爲按鈕背景,我該怎麼做呢? 9補丁?或修正圖像(ldip/mdip/hdip)?
謝謝!
編輯:
感謝兩次答覆,我知道該工具draw9patch,但我不知道如何定義的垂直區域,所以它不會破壞梯度? 謝謝!
如果我想用圖片作爲按鈕背景,我該怎麼做呢? 9補丁?或修正圖像(ldip/mdip/hdip)?
謝謝!
編輯:
感謝兩次答覆,我知道該工具draw9patch,但我不知道如何定義的垂直區域,所以它不會破壞梯度? 謝謝!
我相信9補丁將是更優雅的解決方案。您可以使用Android SDK中「tools」文件夾中的「draw9patch」工具來執行此操作。官方的Android文檔給出瞭如何使用它的很好的概述:http://developer.android.com/guide/developing/tools/draw9patch.html
由於您的按鈕具有2種顏色,因此y軸上僅標記少許(2-3)個像素。 – 2011-06-16 05:41:25
它肯定應該是9-patch。你將不得不小心地選擇可拉伸的區域,以不破壞漸變。使用the tool預覽按鈕上的外觀。
要創建你需要一個自定義按鈕:
一個<selector>
(狀態列表)繪製的引用可繪製不同的默認/壓/聚焦/殘疾/等。狀態。
每個狀態應該在每個密度(ldpi/mdpi/hdpi/xhdpi)中繪製一個9補丁(.9.png
)。請注意,該框架可以向上或向下縮放,因此您不需要需要爲每個密度提供九個補丁,但爲了獲得最佳效果,您應該這樣做。
所以,您的自定義按鈕,可繪製使用下列文件夾結構:
res/
drawable/
mybtn.xml # <selector> (state list)
drawable-hdpi/
mybtn_default.9.png
mybtn_pressed.9.png
mybtn_focused.9.png
mybtn_disabled.9.png
drawable-mdpi/
mybtn_default.9.png
mybtn_pressed.9.png
mybtn_focused.9.png
mybtn_disabled.9.png
drawable-xhdpi/
...
我不知道這是否會好看,但作爲9補丁實際上允許您設置多個伸展區域,您可以嘗試設置多個1像素高的垂直區域,並將所有這些區域拉伸(基本上,每2像素都有一條可伸縮的線條)。這看起來不像梯度效果好,但如果不太舒服,可能會足夠好。
我會使用http://draw9patch.com而不是SDK附帶的工具。該工具非常糟糕,網絡版本更容易。 – Ted 2013-01-11 00:21:56