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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...