如何在android中动态设置RadioButton大小
Posted
技术标签:
【中文标题】如何在android中动态设置RadioButton大小【英文标题】:How to dynamically set RadioButton size in android 【发布时间】:2019-11-25 21:37:33 【问题描述】:我想在水平中显示10 radioButtons
。
我尝试将其添加到RadioGroup
,但运行应用程序后,它并没有显示所有radioButtons
。我的用户界面图像: @ 987654321@
在某些设备上,radioButtons
并未全部显示。
如何动态从设备屏幕宽度将尺寸设置为radioButton
?
我的布局:
<RadioGroup
android:id="@+id/radioGrp"
android:layout_
android:layout_
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/bidStepper_txt"
android:orientation="horizontal">
<RadioButton
android:layout_
android:layout_
android:text="10" />
<RadioButton
android:layout_
android:layout_
android:text="9" />
<RadioButton
android:layout_
android:layout_
android:text="8" />
<RadioButton
android:layout_
android:layout_
android:text="7" />
<RadioButton
android:layout_
android:layout_
android:text="6" />
<RadioButton
android:layout_
android:layout_
android:text="5" />
<RadioButton
android:layout_
android:layout_
android:text="4" />
<RadioButton
android:layout_
android:layout_
android:text="3" />
<RadioButton
android:layout_
android:layout_
android:text="2" />
<RadioButton
android:layout_
android:layout_
android:text="1" />
</RadioGroup>
我怎么会这样?
【问题讨论】:
最好使用HorizontalScrollView
.. 因为如果你尝试用固定宽度换行RadioButtons
可能会太小或有时太大..
@ADM,是的,我的朋友,HorizontalScrollView 是更好的方法。但我们设计师说不会滚动这个RadioButton
s。只需修复所有设备的大小!你能帮我吗?
尝试在单选按钮中设置 layout_weight 即 android:layout_weight = 0.1
【参考方案1】:
屏幕上显示的所有项目使用将android:layout_weight=".1"
分配给所有RadioButton
。
android:layout_weight
根据设备屏幕宽度将所有单选按钮宽度等分,但布局存在问题,因为在某些设备中它可以被剪裁,因为某些设备的屏幕宽度较小,以克服这个问题您可以使用如下所示的水平滚动视图:
<HorizontalScrollView
android:layout_
android:layout_>
<RadioGroup
android:id="@+id/radioGrp"
android:layout_
android:layout_
android:layout_marginTop="8dp"
android:orientation="horizontal">
<RadioButton
android:layout_
android:layout_
android:text="10" />
<RadioButton
android:layout_
android:layout_
android:text="9" />
<RadioButton
android:layout_
android:layout_
android:text="8" />
<RadioButton
android:layout_
android:layout_
android:text="7" />
<RadioButton
android:layout_
android:layout_
android:text="6" />
<RadioButton
android:layout_
android:layout_
android:text="5" />
<RadioButton
android:layout_
android:layout_
android:text="4" />
<RadioButton
android:layout_
android:layout_
android:text="3" />
<RadioButton
android:layout_
android:layout_
android:text="2" />
<RadioButton
android:layout_
android:layout_
android:text="1" />
</RadioGroup>
</HorizontalScrollView>
我希望它对你有用。
【讨论】:
【参考方案2】:这里是有用的示例代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.radiobuttonhorizontal_android_examples.com.MainActivity" >
<RadioGroup
android:id="@+id/radiogroup"
android:layout_
android:layout_
android:orientation="horizontal"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_
android:layout_
android:text="Android" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_
android:layout_
android:text="php" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_
android:layout_
android:text="Blogger" />
</RadioGroup>
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:layout_above="@+id/radiogroup"
android:layout_centerHorizontal="true"
android:layout_marginBottom="25dp"
android:text="Horizontal Radio Buttons"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
【讨论】:
谢谢亲爱的,但我可以显示水平单选按钮!但我的 radioButtons 有 10 个项目,因此不会显示所有项目以上是关于如何在android中动态设置RadioButton大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中动态设置样式为TextInputLayout?
我们如何在android中使用firebase Realtime数据库动态设置选项卡布局的选项卡标题?