【问题标题】:How to dynamically set RadioButton size in android如何在android中动态设置RadioButton大小
【发布时间】:2019-11-25 21:37:33
【问题描述】:

我想在水平中显示10 radioButtons。 我尝试将其添加到RadioGroup,但运行应用程序后,它并没有显示所有radioButtons

我的用户界面图像:
@ 987654321@

在某些设备上,radioButtons 并未全部显示。

如何动态从设备屏幕宽度将尺寸设置为radioButton

我的布局:

<RadioGroup
        android:id="@+id/radioGrp"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        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_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="10" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />

    </RadioGroup>

我怎么会这样?

【问题讨论】:

  • 最好使用HorizontalScrollView .. 因为如果你尝试用固定宽度换行RadioButtons 可能会太小或有时太大..
  • @ADM,是的,我的朋友,Horizo​​ntalScrollView 是更好的方法。但我们设计师说不会滚动这个RadioButtons。只需修复所有设备的大小!你能帮我吗?
  • 尝试在单选按钮中设置 layout_weight 即 android:layout_weight = 0.1

标签: java android android-layout layout radio-button


【解决方案1】:

屏幕上显示的所有项目使用将android:layout_weight=".1" 分配给所有RadioButton

android:layout_weight根据设备屏幕宽度将所有单选按钮宽度等分,但布局存在问题,因为在某些设备中它可以被剪裁,因为某些设备的屏幕宽度较小,以克服这个问题您可以使用如下所示的水平滚动视图:

 <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <RadioGroup
            android:id="@+id/radioGrp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:orientation="horizontal">

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="10" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="5" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />

            <RadioButton

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                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_width="match_parent"
         android:layout_height="match_parent"
         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_width="wrap_content"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
         android:layout_centerVertical="true"
         android:layout_centerHorizontal="true" >
         <RadioButton
         android:id="@+id/radioButton1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Android" />
    
         <RadioButton
         android:id="@+id/radioButton2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="PHP" />
    
         <RadioButton
         android:id="@+id/radioButton3"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Blogger" />
        </RadioGroup>
    
         <TextView
         android:id="@+id/textView1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         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 个项目,因此不会显示所有项目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 2012-01-09
    相关资源
    最近更新 更多