将 EditText layoutDirection 设置为 ltr 并将重力设置为 center
Posted
技术标签:
【中文标题】将 EditText layoutDirection 设置为 ltr 并将重力设置为 center【英文标题】:Set an EditText layoutDirection to ltr and gravity to center 【发布时间】:2018-11-11 15:11:56 【问题描述】:我的应用程序是 RTL 语言。我有一个接受数字的编辑文本,所以我需要将其 layoutDirection 设置为 ltr 以防止它成为 rtl。但问题是android:gravity="center"
不能以这种方式工作,并且文本从左侧而不是中心显示。当其 layoutDirection 为 ltr 时,如何将 EditText 重力设置为中心?
<EditText
android:id="@+id/editText"
android:layout_
android:layout_
android:background="@null"
android:ems="10"
android:gravity="center"
android:inputType="number"
android:layoutDirection="ltr"
android:maxLength="2" />
【问题讨论】:
【参考方案1】:你可能想要android:textAlignment
,而不是android:gravity
。
android:textAlignment="center"
【讨论】:
抱歉没用。我需要文本位于 EditText 的中间。【参考方案2】:使用这个,希望对你有帮助。
<EditText
android:id="@+id/editText"
android:layout_
android:layout_
android:ems="10"
android:gravity="center"
android:inputType="number"
android:layoutDirection="ltr"
android:maxLength="2"
/>
【讨论】:
它不起作用。和我自己的代码没有区别! 在重力中使用这个:- android:gravity="center_vertical|center_horizontal" 它不起作用。对不起。一旦我删除android:layoutDirection="ltr"
,它就会变成好的【参考方案3】:
使用android:layout_gravity="center"
而不是android:gravity
如果您使用父布局作为LinearLayout
【讨论】:
以上是关于将 EditText layoutDirection 设置为 ltr 并将重力设置为 center的主要内容,如果未能解决你的问题,请参考以下文章