工具栏中的向上按钮指向右侧

Maa*_*tel 2 android toolbar up-button

我需要在工具栏的左侧有一个箭头"后退"按钮,由于某种原因它指向右而不是左.

如何将其设置为相反的方向?

这是我的代码:

mToolbar = (Toolbar) findViewById(R.id.machine_tool_bar);        
setSupportActionBar(mToolbar);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

编辑:我的设备语言是从右到左.我试图设置layoutDirection LTR,但它没有帮助..

小智 6

Maayan,

后退按钮指向右侧的原因是,在RTL语言环境中,drawable是从支持库中的drawable-ldrtl文件夹中获取的.

我发现最有用的方法是覆盖箭头按钮的drawable.

首先,您需要使用指向左侧的箭头.它可以从Google的Material设计图标中轻松获得: Material Design Icons - Back Arrow

现在,有两种方法可以处理:

  1. 使用mToolbar.setNavigationIcon(int resId),如下所示:
mToolbar = (Toolbar) findViewById(R.id.machine_tool_bar);  
mToolbar.setNavigationIcon(R.drawable.left_pointing_arrow);
Run Code Online (Sandbox Code Playgroud)
  1. 如果您不想在代码中使用setNavigationIcon,则可以简单地覆盖drawable文件夹中的资源.后面的箭头位于支持库AppCompat-v7:/ extras/android/support/appcompat-v7/appcompat-v7- {version}

    您要查找的drawable的资源名称是: abc_ic_ab_back_mtrl_am_alpha

    您只需将相应的库从支持库复制到资源文件夹,然后使用您下载的drawable覆盖资产.

    在此输入图像描述

    请注意,这仅适用于API-17(引入了RTL支持),因为文件夹包含"ldrtl"属性.

希望能帮助到你.