【问题标题】:Android RadioButton DirectionAndroid单选按钮方向
【发布时间】:2019-11-05 21:04:53
【问题描述】:

如何在我的应用中将 Radiobutton 的方向更改为 rtl?

(按钮右对齐,文本左对齐)

我不希望单选按钮失去它的材料设计。

【问题讨论】:

  • 发布你所做的代码:)
  • 我在所有具有默认 UI 和默认选择行为的 SDK 中使用了一个技巧来实现这一点,答案如下:stackoverflow.com/a/42734740/4832356

标签: android radio-button material-design


【解决方案1】:

使用 android:drawableRight="?android:attr/listChoiceIndicatorSingle" 。

 <RadioButton
       android:id="@+id/radioButton"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:button="@null"
       android:text="rtl button"
       android:drawableRight="?android:attr/listChoiceIndicatorSingle"/>

【讨论】:

    【解决方案2】:

    在每个 RadioButton 中添加 android:gravity="right" 如下..

    <RadioGroup
        android:id="@+id/radios"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_gravity="right"
        android:inputType="text"
        android:orientation="vertical" >
    
        <RadioButton
            android:id="@+id/first"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:background="@color/white"
            android:button="@null"
            android:drawablePadding="30dp"
            android:drawableRight="@android:drawable/btn_radio"
            android:text="first"
            android:textColor="@color/Black"
            android:textSize="20dip" 
            android:gravity="right"/>
    
        <RadioButton
            android:id="@+id/second"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/Black"
            android:button="@null"
            android:drawablePadding="30dp"
            android:drawableRight="@android:drawable/btn_radio"
            android:text="second"
            android:textColor="@color/White"
            android:textSize="20dp"
             android:gravity="right"/>
    
        <RadioButton
            android:id="@+id/third"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/Maroon"
            android:button="@null"
            android:drawablePadding="30dp"
            android:drawableRight="@android:drawable/btn_radio"
            android:text="third"
            android:textColor="@color/Vanilla"
            android:textSize="20dp"
            android:gravity="right" />
    </RadioGroup>
    

    【讨论】:

    • 它可以工作,但单选按钮失去了它的材料设计:(
    • 删除这个 android:drawablePadding="30dp" 行
    • "android:drawable/btn_radio" 在我的应用中不是可绘制的默认单选按钮!
    【解决方案3】:
    <RadioButton
        android:id="@+id/radioButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="item"
        android:layoutDirection="rtl"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      相关资源
      最近更新 更多