0

我想隐藏单选按钮指示器,它显示单选按钮已选中或未选中。我只想显示它的文字。并更改在单选组中选择的单选按钮的文本颜色,其他单选按钮文本将相同。

这是我的 onCheckedChanged 代码。

        @Override
    public void onCheckedChanged(CompoundButton buttonView,
            boolean isChecked) {
        if(isChecked){
            itemView.removeAllViews();

            for (Subjects subjects : item.subjects) {

                View iv = inflater.inflate(R.layout.expandablelistview_item, itemView, false);
                TextView itemName = (TextView) iv.findViewById(R.id.lblListItem);
                itemName.setText(subjects.name + " " + subjects.marks);

                itemView.addView(iv);
            }

        }

    }
4

1 回答 1

1

隐藏 RadioButton 指示器:android:button="@null" xml 属性到 RadioButton 项。

然后像这样创建自己的选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/..."/>
    <item android:state_focused="true" android:drawable="@drawable/..."/>
    <item android:state_checked="true" android:drawable="@drawable/..."/>
    <item android:drawable="@android:color/transparent"/>
</selector>

如果您想更改文本背景并在 android:background RadioButton 属性中使用它。否则设置 android:background="@android:color/transparent"

您可以使用颜色选择器更改文本颜色:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:state_pressed="true
          android:color="@color/..."/>
      <item android:state_focused="true"
          android:color="@color/..."/>
      <item android:state_selected="true"
          android:color="@color/..."/>
      <item android:state_checked="true"
          android:color="@color/..."/>
      <item android:color="@color/..."/>
 </selector> 

并将其插入 android:textColor="@color/..." 属性。

于 2015-01-19T09:15:38.250 回答