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

时间:2015-07-04 10:37:20

标签: android toolbar up-button

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

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

这是我的代码:

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

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

修改: 我的设备语言是从右到左。 我尝试设置layoutDirection LTR,但它没有帮助..

1 个答案:

答案 0 :(得分:6)

Maayan,

后退按钮指向右侧的原因是在RTL语言环境中采用了drawable 来自支持库中的drawable-ldrtl文件夹。

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

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

现在,有两种方法可以解决这个问题:

  1. 使用mToolbar.setNavigationIcon(int resId),如下所示:
  2. mToolbar = (Toolbar) findViewById(R.id.machine_tool_bar);  
    mToolbar.setNavigationIcon(R.drawable.left_pointing_arrow);
    
    1. 如果您不想在代码中使用setNavigationIcon,则可以 只需覆盖可绘制文件夹中的资源。后箭头 可在支持库AppCompat-v7中找到: /演员/机器人/支撑/程序兼容性-V7 /程序兼容性-v7- {版本}

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

      您只需从支持中复制相应的库即可 库到您的资源文件夹,并用。覆盖资产 你下载的是drawable。

      enter image description here

      请注意,这仅适用于API-17(RTL支持的位置) 介绍),因为文件夹包含'ldrtl'属性。

    2. 希望它有所帮助。