我找不到有关在Material Design中在操作栏中添加此按钮的教程。
如何将其添加到Lollipop版本的操作栏中?
我找不到有关在Material Design中在操作栏中添加此按钮的教程。
如何将其添加到Lollipop版本的操作栏中?
试一试
在onCreate中:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
在您的活动类中(假设您想关闭此活动)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
masterphp
正在尝试实现 Material Design。它应该是 getSupportActionBar()
而不是 getActionBar()
。@TomerShemesh - PoojaMaterial Design 教程 这将为您提供如何实现 Material 应用程序的简要概述。
如果您正在使用带有 AppCompat 主题的 ActionBarActivity,请使用以下代码:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
同样,您可能需要以相同的方式调用setHomeButtonEnabled(true)
。
它会像这样:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
工作正常。 - masterphpgetSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
要进行后退导航,您需要在您的AndroidManifest.xml
文件中定义后退导航活动。
<activity
android:name=".CurrentActivity"
android:label="@string/app_name"
android:parentActivityName=".BackActivity">
</activity>
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
可能会产生空指针异常,onCreate()
应该像这样。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
private void setupActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
// Show the Up button in the action bar.
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
首先,您需要使用Material Design
的主题
,并且该主题
支持ActionBar
,例如Theme.AppCompat.Light
、Theme.AppCompat.Light.DarkActionBar
等。
其次,调用ActionBar.setDisplayHomeAsUpEnabled(true);
或者ToolBar.setDisplayHomeAsUpEnabled(true);
,然后返回
图标就会显示。