操作栏后箭头方向

时间:2015-06-20 18:36:26

标签: android android-actionbar material-design

在我的应用程序中,我开始使用工具栏设置UI以满足Material Design。

我想在操作栏上添加后退箭头。它看起来还不错,但不知何故,当我将我的手机位置改为希伯来语时,这是一种rtl语言,箭头改变它的方向,而不是指向“out”,它现在指向“in”。 请参考图片,了解箭头的希伯来语和英语。 有没有办法控制箭头方向(我希望它总是指出“当然”)?

我试图添加android:layoutDirection =“ltr”和android:textDirection =“ltr”,但它没有帮助。

感谢谁能回答这个问题。

enter image description here

以下是工具栏布局的代码:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@color/primaryColor"
app:theme="@style/MyCustomToolBarTheme"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
android:textDirection="ltr"
android:layoutDirection="ltr">

4 个答案:

答案 0 :(得分:8)

最后我成功地改变了箭头方向。

嗯,实际上我遵循了这个post: 首先,我找到了一些动作栏图标,并在项目中放置了一个可绘制的背面图标。 然后我使用此代码以编程方式设置箭头:

        getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);

答案 1 :(得分:2)

&#34;返回&#34; icon由主题的homeAsUpIndicator属性中指定的drawable提供。您可以尝试覆盖它并放置自己的标记(箭头),它将是这样的:

<style name="Theme.MyTheme" parent="android:Theme.Holo">
    <item name="android:homeAsUpIndicator">@drawable/out_arrow</item>
</style>

答案 2 :(得分:0)

以下代码会自动调整后退箭头方向(写入您的活动):

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

答案 3 :(得分:-1)

如果您使用工具栏,那么这可以是一个解决方案:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// getting the back arrow view
View toolbarBack = null;
for (int i = 0; i < toolbar.getChildCount(); i++)
    if (toolbar.getChildAt(i) instanceof ImageButton)
        toolbarBack = toolbar.getChildAt(i);
if (toolbarBack != null) {
    // change arrow direction
    toolbarBack.setRotationY(180);
}