为了账号安全,请及时绑定邮箱和手机立即绑定

Android:以编程方式创建特殊的 RadioButton

Android:以编程方式创建特殊的 RadioButton

C#
手掌心 2021-10-24 17:42:07
我正在尝试创建一种比例视图。因此,我将 RadioButtons 与 RadioButton 顶部的文本一起使用。在我的布局文件中定义它工作正常:<LinearLayout    android:layout_weight="1"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="horizontal">    <RadioGroup        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <RadioButton            android:layout_height="match_parent"            android:layout_width="match_parent"            android:text="Text on top"            android:button="@null"            android:drawableBottom="@android:drawable/btn_radio"            android:gravity="center"            android:layout_weight="1"/>        <RadioButton            android:layout_height="match_parent"            android:layout_width="match_parent"            android:text="Text on top"            android:button="@null"            android:drawableBottom="@android:drawable/btn_radio"            android:gravity="center"            android:layout_weight="1"/>    </RadioGroup></LinearLayout>结果如下所示:现在我只需要RadioGroup。我想以编程方式创建RadioButtons 并将它们添加到 RadioGroup。我试过这段代码,但它不起作用:RadioButton rb = new RadioButton(Context);LinearLayout.LayoutParams rbParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);rb.SetButtonDrawable(null);rb.SetCompoundDrawablesWithIntrinsicBounds(null,null,null, Resources.GetDrawable(Android.Resource.Drawable.ButtonRadio));rb.Text = "Test";rb.Gravity = GravityFlags.Center;rbParams.Weight = 1;rb.LayoutParameters = rbParams;radioGroup.AddView(rb);我认为SetButtonDrawable和/或SetCompoundDrawable与android:button和不同android:drawableBottom。
查看完整描述

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

我认为您忘记将布局参数设置为您的单选按钮。只需添加rb.setLayoutParams(rbParams);添加您之前rb给你的radioGroup


查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信