如何将文本位置设置在 Switch 的右侧而不对齐 LinearLayout 中的 Switch 和 TextView ?我尝试覆盖 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" />
Run Code Online (Sandbox Code Playgroud)
我决定更新此内容以供将来参考,因为评论中的声明是错误的,并且即使问题指出“没有在 LinearLayout 中对齐 Switch 和 TextView”(当前接受的答案),操作也“不接受”这个答案。
提供的解决方案的作用是告诉特定的小部件更改其布局方向,并通过这样做将其从“LTR”(从左到右)翻转到“RTL”(从右到左)。
如果您不愿意嵌套布局,这是一个可行的解决方案。
测试
所有其他小部件的方向将翻转到“RTL”,因为默认情况下它们处于“LTR”,并且 Switch 不会发生任何事情,因为它已经处于正确的配置中。检查下面的图片。
布局方向默认“LTR”
布局方向“RTL”