如何以编程方式更改复选框的文本和框颜色?
How to change the text and the box color of my checkbox programmatically?
我构建了一个带有多计算系统的应用程序,它需要填写所有内容才能得到结果,所以如果用户在没有选择的情况下离开 checkbox
,我会通过制作文本和方框来通知他checkbox
更改为 "Red"
喜欢link中的图片:
如果我们假设我的复选框是 "Yes",那么如何为这个和另一个制作代码以重新运行它回到原来的那个?
我可以制作自定义 xml 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/option_unselected" android:state_checked="false" android:color="#ff0000"/>
<item android:drawable="@drawable/option_selected" android:state_checked="true"/>
我知道如何制作检查条件:
if(yes.isChecked())
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
else
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
但在这种情况下我需要两样东西:
1- 复选框图像类似于 android 上的默认图像,然后将其设为框 "red"
2- 我需要一个代码来使它 return 恢复到带有黑色文本和方框的默认值
, 那我该怎么做呢?或者如果有人对我的问题有其他解决方案?
可以创建另一组名为 custom_red_checkbox.xml
的 xml
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/option_unselected_red" android:state_checked="false" android:color="#ff0000"/>
<item android:drawable="@drawable/option_selected" android:state_checked="true"/>
并将您的代码修改为
if(yes.isChecked())
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
else
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_red_checkbox));}
我构建了一个带有多计算系统的应用程序,它需要填写所有内容才能得到结果,所以如果用户在没有选择的情况下离开 checkbox
,我会通过制作文本和方框来通知他checkbox
更改为 "Red"
喜欢link中的图片:
如果我们假设我的复选框是 "Yes",那么如何为这个和另一个制作代码以重新运行它回到原来的那个?
我可以制作自定义 xml 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/option_unselected" android:state_checked="false" android:color="#ff0000"/>
<item android:drawable="@drawable/option_selected" android:state_checked="true"/>
我知道如何制作检查条件:
if(yes.isChecked())
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
else
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
但在这种情况下我需要两样东西:
1- 复选框图像类似于 android 上的默认图像,然后将其设为框 "red"
2- 我需要一个代码来使它 return 恢复到带有黑色文本和方框的默认值
, 那我该怎么做呢?或者如果有人对我的问题有其他解决方案?
可以创建另一组名为 custom_red_checkbox.xml
的 xml<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/option_unselected_red" android:state_checked="false" android:color="#ff0000"/>
<item android:drawable="@drawable/option_selected" android:state_checked="true"/>
并将您的代码修改为
if(yes.isChecked())
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_checkbox));}
else
{check.setButtonDrawable(mContext.getResources().getDrawable(
R.drawable.custom_red_checkbox));}