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

时间:2014-03-24 06:28:30

标签: android android-actionbar right-to-left

背景

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

因为我知道在某些Android版本中,事情被翻转以让单词和句子正确对齐,我决定先切换到这样的语言,然后继续翻译

问题

切换到RTL语言(在我的情况下是希伯来语),我发现操作栏的向上按钮有“<”图像水平翻转:

enter image description here

现在它显示“>”代替。

问题

我该如何解决?以这种方式看待它是没有意义的......

2 个答案:

答案 0 :(得分:1)

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

请参阅:https://code.google.com/p/android/issues/detail?id=68476

答案 1 :(得分:-1)

嗯,您可以通过致电ActionBarResources.getIdentifier来访问View.findViewById“up”可用性。之后你可以旋转它。

    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);
    }