Android Actionbar返回箭头方向
在我的应用程序中,我开始使用工具栏设置UI以满足材质设计要求 我想在操作栏上添加后退箭头。看起来还可以,但不知怎么的,当我把手机的位置改成希伯来语(一种rtl语言)时,箭头改变了方向,而不是指向“out”,而是指向“in”。 请参考图片查看箭头在希伯来语和英语中的外观。 有没有办法控制箭头方向(我希望它总是指向“指出”的方向) 我试图添加android:layoutDirection=“ltr”和android:textDirection=“ltr”,但没有效果 感谢有谁能回答这个问题 以下是工具栏布局的代码:Android Actionbar返回箭头方向,android,android-actionbar,material-design,Android,Android Actionbar,Material Design,在我的应用程序中,我开始使用工具栏设置UI以满足材质设计要求 我想在操作栏上添加后退箭头。看起来还可以,但不知怎么的,当我把手机的位置改成希伯来语(一种rtl语言)时,箭头改变了方向,而不是指向“out”,而是指向“in”。 请参考图片查看箭头在希伯来语和英语中的外观。 有没有办法控制箭头方向(我希望它总是指向“指出”的方向) 我试图添加android:layoutDirection=“ltr”和android:textDirection=“ltr”,但没有效果 感谢有谁能回答这个问题 以下是
<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">
主题的homeAsUpIndicator属性中指定的可绘制图标提供了“后退”图标。您可以尝试覆盖它并放置您自己的标记(箭头向外),它将是这样的:
<style name="Theme.MyTheme" parent="android:Theme.Holo">
<item name="android:homeAsUpIndicator">@drawable/out_arrow</item>
</style>
@可抽出/抽出箭头
最后我成功地更改了箭头方向
嗯,实际上我是这样做的:
首先,我找到了一些动作栏图标,并在项目中放置了一个可缩回的图标。
然后,我使用以下代码以编程方式设置箭头:
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
如果您使用的是工具栏,则这可能是一个解决方案:
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);
}
Toolbar-Toolbar=(Toolbar)findviewbyd(R.id.Toolbar);
//获取返回箭头视图
视图返回=空;
对于(int i=0;i
下面的代码自动调整返回箭头方向(在活动中写入):
谢谢,我试过了,但没用。不过,我已经在下面回答了。@MotiBartov如果您将
android:homeAsUpIndicator
替换为homeAsUpIndicator
,则@Nicolas提供的解决方案将有效。
getSupportActionBar().setDisplayHomeAsUpEnabled(true);