1

我有一个单选按钮,其文本显示如下:

0 About,这里 0 表示它是一个单选按钮,我想以编程方式删除单选按钮并仅显示文本“关于”如何做到这一点?

我努力了 :

radioButton.setButtonDrawable(android.R.color.transparent);// only hides the radio button
radioButton.setButtonDrawable(android.R.empty);// not working

提前致谢。

4

4 回答 4

1
  • 您是否尝试过以下行来隐藏可绘制的按钮:

    radioButton.setButtonDrawable(new ColorDrawable(0xFFFFFF));

这将隐藏左侧的drawable。

于 2014-05-14T20:12:46.540 回答
0

xml布局:

   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ButtonText" />

        <RadioButton
            android:id="@+id/radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

    </LinearLayout>

隐藏单选按钮:

    radioButton.setVisibility(View.GONE);
于 2013-08-28T12:56:56.377 回答
0

您可以在运行时使用 setText() 方法设置文本

radioButton.setText("关于");

可能是你想要这个。

于 2013-08-28T12:58:01.560 回答
0

只是不要将文本设置为RadioButton并使用单独TextView的作为其文本。

然后,当您想隐藏 RadioButton 时,只需使用setVisibility(View.GONE);(View.GONE 将隐藏整个内容,根本没有空间)并再次显示它setVisibility(View.VISIBLE);

这是一个关于如何使用它的布局的小例子:

XML

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <RadioButton
        android:id="@+id/radioButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Radio button text" />

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Toggle visibility" />

</LinearLayout>

代码

final RadioButton radioButton = (RadioButton) findViewById(R.id.radioButton1);
findViewById(R.id.toggleButton1).setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        if(radioButton.getVisibility() == View.VISIBLE) {
            radioButton.setVisibility(View.GONE);
        }
        else if(radioButton.getVisibility() == View.GONE) {
            radioButton.setVisibility(View.VISIBLE);
        }
    }
});
于 2013-08-28T13:47:17.973 回答