Android 如何禁用翻转;“向上”;操作栏上的按钮? 背景

Android 如何禁用翻转;“向上”;操作栏上的按钮? 背景,android,android-actionbar,right-to-left,Android,Android Actionbar,Right To Left,我已经制作了一个“”替代应用程序,我希望添加RTL(从右到左)语言的翻译 因为我知道在某些Android版本中,为了让单词和句子正确对齐,事情发生了变化,所以我决定先切换到这种语言,然后继续翻译 问题 在切换到RTL语言(在我的例子中是希伯来语)之后,我发现操作栏的up按钮改为“” 问题 我怎么修理它?这样看是没有意义的…好吧,您可以通过调用Resources.getIdentifier和View.findViewById来访问操作栏。然后你可以旋转它 final int upId =

我已经制作了一个“”替代应用程序,我希望添加RTL(从右到左)语言的翻译

因为我知道在某些Android版本中,为了让单词和句子正确对齐,事情发生了变化,所以我决定先切换到这种语言,然后继续翻译

问题 在切换到RTL语言(在我的例子中是希伯来语)之后,我发现操作栏的up按钮改为“”

问题
我怎么修理它?这样看是没有意义的…

好吧,您可以通过调用
Resources.getIdentifier
View.findViewById
来访问
操作栏。然后你可以旋转它

    final int upId = getResources().getIdentifier("up", "id", "android");
    final View up = findViewById(upId);
    // Call this to just rotate the icon 180°
    if (getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
        up.setRotation(180f);
    }

对我来说,有效的方法是让系统使用默认主题,而不是指定Holo。如果你能接受,向上按钮的方向将正确。不幸的是,如果您使用AppCompat,当然无法做到这一点。 更让人恼火的是:向上翻转按钮是特定于设备的。它出现在三星的设备上,但在谷歌的设备上没有。supportsRtl标志仅适用于API 17及以上版本,因此无法修复较旧的三星手机。 问题显然是Holo在三星设备上的实现。要小心翻转图标,因为在谷歌手机上它会被翻转错误


看到这个:

但是在幕后它已经在使用图像了。此外,我不想覆盖默认图像。为什么要设置它的动画?要翻转它?我添加了一个gif,但我不想翻转它。我想避免翻页。翻转是自动发生的,因为它是一种RTL语言……那么谷歌的大多数应用程序并不完全支持RTL布局,但Play Newstand支持,这并不意味着你的应用程序应该是相同的。而且,如果您使用RTL布局,
DrawerLayout
将自动切换到右侧。也许我看了导航抽屉的早期作品。古怪的因此,即使是谷歌也没有遵循自己的准则,并充分利用它们。奇怪的是,谷歌在报摊上安装了它,但没有为play store和它拥有的许多其他应用程序设置任何希伯来语处理。。。好吧,我想,我只需要在清单上将supportsRtl设置为true,就不用再担心操作栏了。谢谢,所以比我想象的还要复杂。无论如何,最后我决定让操作系统自己决定。尽管你所写的努力,你会得到+1。