Android 工具栏:启用默认向上按钮
Android Toolbar: Enable default Up button
我正在使用工具栏代替操作栏,我想继续为我的工具栏使用默认的向上图标。我相信这是 ic_menu_back 可绘制对象。但是,此资源似乎是私有的,因为我无法通过 android.R.drawable.ic_menu_back 访问它。
我是否必须手动提取此图像并将其放入我的可绘制文件夹中,或者有什么方法可以强制工具栏使用默认的向上按钮?
您可以在 activity 中这样做:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
您需要将可绘制对象导入文件夹。
第二种方法是通过 styles.xml 只需添加这些项目:
<item name="homeAsUpIndicator">@drawable/ic_action_back</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
您可以使用 android.support.v7.widget.Toolbar
:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
然后覆盖 onOptionsItemSelected(MenuItem item)
以处理箭头上的返回点击:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我正在使用工具栏代替操作栏,我想继续为我的工具栏使用默认的向上图标。我相信这是 ic_menu_back 可绘制对象。但是,此资源似乎是私有的,因为我无法通过 android.R.drawable.ic_menu_back 访问它。
我是否必须手动提取此图像并将其放入我的可绘制文件夹中,或者有什么方法可以强制工具栏使用默认的向上按钮?
您可以在 activity 中这样做:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
您需要将可绘制对象导入文件夹。
第二种方法是通过 styles.xml 只需添加这些项目:
<item name="homeAsUpIndicator">@drawable/ic_action_back</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
您可以使用 android.support.v7.widget.Toolbar
:
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
然后覆盖 onOptionsItemSelected(MenuItem item)
以处理箭头上的返回点击:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}