Android 4.2中的RTL语言的开始/结束和左/右

问题描述 投票:3回答:1

我正在尝试制作我的应用程序的布局,其中包括对RTL语言的支持。目标的sdk版本将是15+。我在所有布局文件中都使用了开始/结束以及左/右,但我注意到在api level 17(Android 4.2)上使用RTL语言时布局无法正常工作。 Api级别18及以上似乎处理双重定义(开始和左侧)就好了,所以我想知道为什么布局在17级混乱。根据下面的文字我会期望17级上的相同行为为18+ 。

Native RTL support in Android 4.2:

如果您将应用程序定位到Android 4.2(应用程序的targetSdkVersion或minSdkVersion为17或更高),那么您应该使用“开始”和“结束”而不是“左”和“右”。例如,android:paddingLeft应该成为android:paddingStart。

如果您希望您的应用程序使用早于Android 4.2的版本(应用程序的targetSdkVersion或minSdkVersion为16或更低),那么您应该添加“start”并结束“除”left“和”right“之外。例如,你同时使用android:paddingLeft和android:paddingStart。

android android-layout arabic android-4.2-jelly-bean right-to-left
1个回答
0
投票

为17+之类的layout-v17制作单独的布局,并在布局中放置默认布局。在layout-v17中,你需要在padding,margin,drwableleft等上只替换left-> start和right-> end。不要在17和plus上使用left和right。

没有别的办法了。

© www.soinside.com 2019 - 2024. All rights reserved.