gpt4 book ai didi

android - 以编程方式设置单选按钮样式

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:39 25 4
gpt4 key购买 nike

我想在一个 fragment 中动态地创建一些单选按钮,我只是在样式上有问题。如果我将单选按钮代码放在 xml 文件中,则会正确应用默认样式,但是当我通过函数创建单选按钮时,我会看到不同的样式!

XML

<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:animationCache="false">

<RadioButton
android:text="RadioButton 1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radioButton3" />

<RadioButton
android:text="RadioButton 2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radioButton4" />


</RadioGroup>

结果

enter image description here

Java代码

这段代码放在fragment中的onCreateView

public void addRadioButton(Context ctx,int num){

RadioGroup radioGroup= (RadioGroup) alertInflatedView.findViewById(R.id.radiogroup);

for (int i = 1; i <= num; i++) {
RadioButton radioButton = new RadioButton(ctx);
radioButton.setId(1+i);
radioButton.setText("Radio " + radioButton.getId());
radioButton.setTextColor(getResources().getColor(R.color.black));

radioGroup.addView(radioButton);

}

}

结果

enter image description here

如您所见,单选按钮具有不同的样式,如果可能的话,有人可以帮助我以编程方式应用默认样式吗?

最佳答案

您必须根据需要在 drawable 或 style.xml 上创建样式。

drawable/null_selector.xml

  <?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@android:color/transparent" />
</selector>

像这样设置每个按钮以使用它(并使文本居中)(R.drawable.null_selector 是选择器 XML):

现在,在您的 Activity 中,您必须实现这种样式。

  RadioButton radioButton = new RadioButton(ctx);
radioButton.setText(Integer.toString(i));
radioButton.setGravity(Gravity.CENTER);
radioButton.setButtonDrawable(R.drawable.null_selector);

我认为,这将有助于您在单选按钮中实现自定义样式。

关于android - 以编程方式设置单选按钮样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42433909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com