2012-08-10 82 views
0

我有一個方形可繪製選擇器。我想使它成爲基於某個View的圓角矩形形狀。任何人有一個想法如何實現這一目標?我正在使用此可繪製的android:background方形可繪製,使其成爲一個圓角矩形形狀

編輯:對不起,我忘了提及,可繪製的意思是一個PNG文件。

+0

你能提供更多關於*'的信息嗎?我想使它成爲基於某個視圖的橢圓形狀*嗎? – Luksprog 2012-08-10 08:48:18

+0

我將在適配器內的視圖中將其設置爲背景。如果View是偶數行,我會將視圖的背景設置爲一個圓角矩形。 – 2012-08-10 12:20:25

回答

0

您必須製作兩個略有不同的XML文件。如果它與您正在使用的視圖匹配,則使用一個,如果不使用另一個...,則創建新的XML,基本上覆制並粘貼您已有的一個(可能會在文件名的末尾附加「_rounded」) 。然後,在您想要圓角的文件中,只需添加此行,然後按照您認爲合適的方式調整它(在dip中)。

<corners 
    android:radius="4dip" 
    /> 

[編輯]

如果是這樣的話,你需要2個獨立的.9.png圖像。一個是方形的,一個是圓形的。像我上面提到的XML一樣使用類似的命名約定。使用相同的測試語句...

if(viewMeetsCriteria) 
    otherView.setBackgroundResource(R.drawable.square); 
else 
    otherView.setBackgroundResource(R.drawable.square_rounded); 

有關創建.9.png文件的其他信息,請參閱google教程。 9補丁工具位於您的{sdkdir}/tools /中。 9補丁圖像是可以根據佔用的空間量自由拉伸的圖像,不會看起來不連貫或迫使您製作多個不同的圖像。 Dev頁面信息在這裏:http://developer.android.com/tools/help/draw9patch.html

+0

對不起,我忘了提及,這是一個PNG文件,我表示爲可繪製文件。 – 2012-08-10 12:49:56

+0

查看最新回覆 – RyanInBinary 2012-08-10 13:22:59

+0

是的,我可以做到這一點,我只是想知道如果我目前只有R.drawable.square?我可以使用它並讓Android使邊緣變圓? – 2012-08-16 02:57:05