如何在
android中制作自定义复选框
我目前的XML ::
<LinearLayout android:id="@+id/linearLayout_individualdays" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_below="@+id/linearLayout_type_of_days" android:gravity="center|top" android:orientation="horizontal" android:paddingLeft="5dp" android:paddingTop="10dp" android:visibility="gone" > <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Mon" /> <CheckBox android:id="@+id/checkBox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tue" /> <CheckBox android:id="@+id/checkBox3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wed" /> <CheckBox android:id="@+id/checkBox4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Thu" /> </LinearLayout>
OUT-把::
但如何制作如下的东西::
>此处蓝色边框显示其选中
>否则未选中
>它必须是一个复选框
希望我清楚!
解决方法
使用此代码
可绘制文件夹中的select.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#ffffff" > </solid> <stroke android:width="2dp" android:color="#ff0000" > </stroke> <corners android:radius="5dp" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> </shape>
在drawable文件夹中取消选择
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#ffffff" > </solid> <stroke android:width="2dp" android:color="#000000" > </stroke> <corners android:radius="5dp" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> </shape>
和自定义复选框
public class checkBox extends CheckBox{ public checkBox(Context context,AttributeSet attrs) { super(context,attrs); //setButtonDrawable(new StateListDrawable()); } @Override public void setChecked(boolean t){ if(t) { this.setBackgroundResource(R.drawable.select); } else { this.setBackgroundResource(R.drawable.deselect); } super.setChecked(t); } }
复选框
<com.example.checkBox.checkBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" android:checked="true" android:text="checked" />
您可以在select.xml中更改颜色并将deselect.xml更改为您想要的东西