支持 Rtl 不适用于具有 res-layout-large 的设备 5.1,如 nexus 4 或 galaxy 4
supports Rtl doesnt work on devices 5.1 like nexus 4 or galaxy 4 with res-layout-large
我开发的应用程序包含许多需要在 rtl 模式下工作的活动。
在我的清单中添加
android:supportsRtl="true".
在我的 activity 中,我有以下代码:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);
}
它几乎适用于所有屏幕。
在 2 个活动中,我使用了一些布局尺寸:layout-large
和 layout-large-hdpi
。
当应用程序 运行ning 时,这 2 个活动在 ltr 显示所有布局。
当我从大文件夹中删除此布局时,它工作正常。
奇怪的问题是它只发生在支持 5.1 OS 的设备上,当我 运行 在 Galaxy 2(4.0.3) 上它工作正常。
有谁知道这个错误是什么或 运行 这个问题?
更新:
我发现如果我将 targetMinSDk 减少到 16 它不会发生但它会发生在其他问题上(比如左边的设置操作栏..)
我发现了问题。
我 运行 在 gradle 文件上针对 buildToolsVersion '23.0.0'。
当我升级到 buildToolsVersion '23.0.2' 时,它工作得很好。
这似乎是带有 RTL 的 buildTools 23.0.0 中的错误。
我开发的应用程序包含许多需要在 rtl 模式下工作的活动。
在我的清单中添加
android:supportsRtl="true".
在我的 activity 中,我有以下代码:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);
}
它几乎适用于所有屏幕。
在 2 个活动中,我使用了一些布局尺寸:layout-large
和 layout-large-hdpi
。
当应用程序 运行ning 时,这 2 个活动在 ltr 显示所有布局。
当我从大文件夹中删除此布局时,它工作正常。
奇怪的问题是它只发生在支持 5.1 OS 的设备上,当我 运行 在 Galaxy 2(4.0.3) 上它工作正常。
有谁知道这个错误是什么或 运行 这个问题?
更新:
我发现如果我将 targetMinSDk 减少到 16 它不会发生但它会发生在其他问题上(比如左边的设置操作栏..)
我发现了问题。
我 运行 在 gradle 文件上针对 buildToolsVersion '23.0.0'。
当我升级到 buildToolsVersion '23.0.2' 时,它工作得很好。
这似乎是带有 RTL 的 buildTools 23.0.0 中的错误。