我试图制作我的应用程序的布局,其中包括对RTL语言的支持。目标的sdk版本将 15 + 。我在所有布局文件中都使用了开头/结尾以及作为左/右,但是我注意到布局在api level 17上没有使用RTL语言正常工作(Android 4.2)。 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或更少),那么你应该添加 “开始”并结束“除了”左“和”右“。例如,你 同时使用android:paddingLeft和android:paddingStart。
答案 0 :(得分:0)
为17+之类的layout-v17制作单独的布局,并在布局中放置默认布局。在layout-v17中,你需要在padding,margin,drwableleft等上只替换left-> start和right-> end。不要在17和plus上使用left和right。
没有别的办法。