2016-09-15 73 views
1

已經爲drawable中的每個項目在不同狀態下定義了可繪製的給定png,如果想要在該項目的png周圍有邊框,該怎麼做?在這裏重新切換PNG不是選項。如何在使用png的複選框中添加邊框

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_checked="true" android:state_focused="true" 
     android:drawable="@drawable/box_checked_png」 /> 
<item android:state_checked="false" android:state_focused="true" 
     android:drawable="@drawable/white_box_png」 /> 
<item android:state_checked="false" 
     android:drawable="@drawable/white_box_png」 /> 
<item android:state_checked="true" 
     android:drawable="@drawable/box_checked_png」 /> 
</selector> 

回答

0

我覺得最好的方法是在複選框中添加一個背景。

這是一個矩形可繪製的background.xml(放入res/drawable文件夾)。 比方說,你是一個形狀像這樣的:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <solid android:color="#ffffff" /> 
    <stroke android:width="1dip" android:color="#4fa5d5"/> 
</shape> 

而且,你有你的複選框,您只需設置背景作出之前:

<CheckBox android:text="Some me" android:background="@drawable/background"/> 
+0

感謝克林!如果drawable已經'檢查'狀態以顯示box_checked_png。 – lannyf