如何在Material Design中创建后退按钮

时间:2015-04-20 19:48:37

标签: android button android-actionbar

我找不到有关在Material Design的操作栏中添加此按钮的教程。

example image

如何将其添加到Lollipop的操作栏中?

5 个答案:

答案 0 :(得分:18)

试试这个

in on create:

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);
    }
}

答案 1 :(得分:13)

Material Design Tutorial 这将简要介绍如何实现材料应用程序。

如果您使用ActionBarActivityAppCompat Theme使用:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

此外,您可能需要以同样方式致电setHomeButtonEnabled(true)。 它看起来像这样:

enter image description here

答案 2 :(得分:3)

你的onCreate中的

添加这些行

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

对于后退导航,您必须在AndroidMnifest.xml

上定义返回导航活动
<activity 
android:name=".CurrentActivity" 
android:label="@string/app_name"
android:parentActivityName=".BackActivity">
</activity>

答案 3 :(得分:2)

getSupportActionBar().setDisplayHomeAsUpEnabled(true);可能会产生nullpointer异常,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);
    }
}

答案 4 :(得分:1)


首先,您必须使用Theme Material DesignTheme支持ActionBar,例如{{1} },Theme.AppCompat.Light
第二次,致电Theme.AppCompat.Light.DarkActionBarActionBar.setDisplayHomeAsUpEnabled(true);,然后会显示ToolBar.setDisplayHomeAsUpEnabled(true);图标。