我需要在工具栏的左侧有一个箭头“后退”按钮, 由于某种原因,它指向右而不是左。
如何将其设置为相反的方向?
这是我的代码:
mToolbar = (Toolbar) findViewById(R.id.machine_tool_bar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
修改: 我的设备语言是从右到左。 我尝试设置layoutDirection LTR,但它没有帮助..
答案 0 :(得分:6)
Maayan,
后退按钮指向右侧的原因是在RTL语言环境中采用了drawable 来自支持库中的drawable-ldrtl文件夹。
我发现最有用的方法是覆盖箭头按钮的drawable。
首先,您需要使用指向左侧的箭头。 它可以从Google的Material设计图标中轻松获得: Material Design Icons - Back Arrow
现在,有两种方法可以解决这个问题:
mToolbar = (Toolbar) findViewById(R.id.machine_tool_bar); mToolbar.setNavigationIcon(R.drawable.left_pointing_arrow);
如果您不想在代码中使用setNavigationIcon,则可以 只需覆盖可绘制文件夹中的资源。后箭头 可在支持库AppCompat-v7中找到: /演员/机器人/支撑/程序兼容性-V7 /程序兼容性-v7- {版本}
您要查找的drawable的资源名称是: 的 abc_ic_ab_back_mtrl_am_alpha 强>
您只需从支持中复制相应的库即可 库到您的资源文件夹,并用。覆盖资产 你下载的是drawable。
请注意,这仅适用于API-17(RTL支持的位置) 介绍),因为文件夹包含'ldrtl'属性。
希望它有所帮助。