如何在不对齐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”默认
布局方向“RTL”