我有一个单选按钮,其文本显示如下:
0 About
,这里 0 表示它是一个单选按钮,我想以编程方式删除单选按钮并仅显示文本“关于”如何做到这一点?
我努力了 :
radioButton.setButtonDrawable(android.R.color.transparent);// only hides the radio button
radioButton.setButtonDrawable(android.R.empty);// not working
提前致谢。
我有一个单选按钮,其文本显示如下:
0 About
,这里 0 表示它是一个单选按钮,我想以编程方式删除单选按钮并仅显示文本“关于”如何做到这一点?
我努力了 :
radioButton.setButtonDrawable(android.R.color.transparent);// only hides the radio button
radioButton.setButtonDrawable(android.R.empty);// not working
提前致谢。
您是否尝试过以下行来隐藏可绘制的按钮:
radioButton.setButtonDrawable(new ColorDrawable(0xFFFFFF));
这将隐藏左侧的drawable。
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);
您可以在运行时使用 setText() 方法设置文本
radioButton.setText("关于");
可能是你想要这个。
只是不要将文本设置为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);
}
}
});