我在谷歌的收件箱应用程序中看到,编写一个新的电子邮件,在工具栏中而不是后退按钮(箭头),它有一个“关闭”按钮(见图片)。
我怎样才能做到这一点?
答案 0 :(得分:95)
使用
this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);
实现这一目标。
您可以在GitHub上创建自己的关闭图标或从material design icon set 获取。另外,在上面的行之前添加这一行,以使后退箭头成为关闭函数。
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
答案 1 :(得分:18)
如果使用支持应用栏,您需要在清单中定义父级,然后覆盖 onSupportNavigationUp()。此外,请访问此图标包的方便网站:https://www.google.com/design/icons/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourAwesomeLayout);
setupToolBar();
}
private void setupToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}
@Override
public boolean onSupportNavigateUp() {
finish(); // close this activity as oppose to navigating up
return false;
}
答案 2 :(得分:5)
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Search");
toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha);
setSupportActionBar(toolbar);
答案 3 :(得分:5)
because i want to use toolbar not actionBar due to theming
)。所以尝试通过xml布局添加关闭按钮。它有效。
这是一个xml语法,用于向工具栏添加关闭按钮(v7)。
app:navigationIcon="@drawable/ic_close_black_24dp"
答案 4 :(得分:2)
在清单中定义父活动的另一种方法是处理onOptionsItemSelected方法中要采取的操作,如下例所示:
$this->order->with('orderDetails', 'orderDetails.product')->get();
答案 5 :(得分:-4)
您可以定义样式:
<style name="Theme.Toolbar.Clear">
<item name="toolbarNavigationIcon">@drawable/abc_ic_clear_mtrl_alpha</item>
</style>
并在您的主题中使用它:
<style name="Theme.Clear">
<item name="toolbarTheme">@style/Theme.Toolbar.Clear</item>
</style>