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

开始/结束&;Android 4.2中RTL语言的左/右,android,android-layout,arabic,android-4.2-jelly-bean,right-to-left,Android,Android Layout,Arabic,Android 4.2 Jelly Bean,Right To Left,我正试图使我的应用程序布局,其中将包括对RTL语言的支持。目标sdk版本将为15+。我在所有的布局文件中都使用了start/end和作为left/right,但是我注意到该布局在api级别17(Android 4.2)上不能与RTL语言正常工作。Api级别18和更高级别似乎可以很好地处理双重定义(start和left),所以我想知道为什么布局在级别17上会出错。根据以下文本,我预计17级的行为与18+级相同 如果您将应用程序定位到Android 4.2(应用程序的 targetSdkVersi

我正试图使我的应用程序布局,其中将包括对RTL语言的支持。目标sdk版本将为15+。我在所有的布局文件中都使用了start/end作为left/right,但是我注意到该布局在api级别17(Android 4.2)上不能与RTL语言正常工作。Api级别18和更高级别似乎可以很好地处理双重定义(start和left),所以我想知道为什么布局在级别17上会出错。根据以下文本,我预计17级的行为与18+级相同

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

如果你想让你的应用程序使用Android 4.2之前的版本(应用程序的 targetSdkVersion或minSdkVersion为16或更低),则应添加 除了“左”和“右”之外,还有“开始”和“结束”。例如,你会 同时使用android:paddingLeft和android:paddingStart


为17+创建一个单独的布局,如layout-v17,并将默认布局放在layout中。在layout-v17中,您只需要替换填充、边距、drwableleft等上的左->开始和右->结束。不要在17和更高版本上使用左和右


别无选择

一个解决办法是为api 17及以上版本创建单独的布局文件,但肯定有更有效的方法来处理这个问题?这方面的任何进展?面对完全相同的问题。如果我删除Left,Right,API级别17上的布局会有一些改进,但是如果我同时使用Left和start,Right和end,那么API级别17上的布局会变得混乱,但是在17+上工作良好。我的应用程序支持minSDK 8,所以我不能省略左右限定符。