Dig*_*pia 16
我想做同样的事情,而不必扩展另一个类(或两个,因为你必须至少扩展CompoundButton 和 RadioButton),从一开始应该是实现的一部分.因为我使用的是一个RadioGroup,如果你把布局容器中的RadioButton和TextView放在一起就无法工作.诚然,我的解决方案不仅仅是一种hackish,而且 - 它有效.
1)将填充设置为40 2)将布局边距设置为-36dp
此时,原始单选按钮将位于视图外部,文本视图将位于最左侧,边距为4dp.
3)将Drawable右键设置为@android:drawable/btn_radio
您现在将拥有一个本地RadioButton,其左侧是文本,右侧是一个按钮,可以与RadioGroup一起使用.
@CommonsWare
值得一提的是,提出人机界面指南以回应这一特定问题是非常具有讽刺意味的.特别是考虑到调整RadioButton布局以将按钮放在最右边,可以实现与Spinner菜单布局的一致性.我完全赞同你对此事的看法 - 但NickTFried很可能试图弥补Android在这方面的"悬挂".
正如Ravi Vyas指出的那样,你可以用a TextView和a来自己做RadioButton.RadioButton从我对源代码的阅读中重新定位按钮相对于文本没有什么固有的.
此外,请记住,仅仅因为这是可能的并不意味着这是一个好主意.例如,在iPhone上,如果您过多地使用此应用程序,可能不允许发送应用程序,因为它们具有应用程序必须遵守的人机界面指南.Android为您提供了更多的绳索 - 不要让用户使用它.
该CheckedTextView精品,如果你与一个单一的"单选按钮"的工作.
但我需要在组中的单选按钮之间保留切换功能,这样对我来说效果更好:
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button 1" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button2" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
android:layout_marginLeft根据需要进行调整.
对于RTL语言,即Arabic使用此:
<RadioGroup
android:id="@+id/rgNewsFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rbAllNews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="???????????"
android:textColor="#ffffff" />
<RadioButton
android:id="@+id/rbMyTeam"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="??????????????"
android:textColor="#ffffff" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19085 次 |
| 最近记录: |