在我的应用程序中,我开始使用工具栏设置UI以满足Material Design。
我想在操作栏上添加后退箭头。它看起来还不错,但不知何故,当我将我的手机位置改为希伯来语时,这是一种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">
答案 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);
}