以编程方式删除单选按钮并仅显示文本

时间:2013-08-28 12:52:20

标签: android radio-button drawable

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

0 About,这里0表示它是一个单选按钮,我想以程序方式删除单选按钮并仅显示文本“关于”如何执行此操作?

我试过了:

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

提前致谢。

4 个答案:

答案 0 :(得分:1)

  • 您是否尝试使用以下行隐藏按钮drawable:

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

这将隐藏左侧的drawable。

答案 1 :(得分:0)

xml layout:

   <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:

    radioButton.setVisibility(View.GONE);

答案 2 :(得分:0)

您可以使用setText()方法

在运行时setText

radioButton.setText( “关于”);

可能你想要这个。

答案 3 :(得分: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);
        }
    }
});