微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何在Switch的右侧设置文本位置(如CheckBox)

如何在不对齐LinearLayout中的Switch和TextView的情况下将文本位置设置到Switch的右侧?我试图在我的style.xml按钮中覆盖CheckBox按钮样式,但我不知道如何获取Switch按钮引用?

解决方法:

我最近遇到了同样的问题,因为我不想将我的布局包装在一个额外的容器中,就像我遇到的所有答案一样.

我发现通过在开关中添加android:layoutDirection =“rtl”我可以改变文本的方向,因为Android知道这个视图应该由从右到左阅读的人读取/使用.

请参阅下面的完整代码段,包括拇指和文本之间的额外填充

<Switch
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:switchPadding="16dp"
    android:layoutDirection="rtl"
    android:text="Your Text" />

更新

我决定更新这个以供将来参考,因为评论中的声明是错误的,并且即使问题表明“没有对齐当前接受的答案中的Switch和TextView在线性层中”,该操作也“未接受”.

提供的解决方案是告诉特定小部件改变其布局方向,并通过这样做将其从“LTR”(从左到右)翻转到“RTL”(从右到左).

如果您不愿意嵌套布局,这是一个可行的解决方案.

测试

>将窗口小部件布局方向设置为“RTL”
>运行应用程序
>转到设置>开发人员选项>强制RTL布局方向
>观察布局

所有其他小部件的方向将翻转为“RTL”,因为认情况下它们位于“LTR”,并且Switch不会发生任何事情,因为它已经处于正确的配置中.检查下面的图像.

布局方向“LTR”

enter image description here

布局方向“RTL”

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。