如何在v7工具栏上使用工具栏的主页按钮提供向上导航

克雷夫

我的活动(import android.support.v7.widget.Toolbar;)中有一个工具栏,我正尝试使用其主页按钮提供向上导航。我有的:

显现:

<!-- ... -->
<activity android:name=".SettingsActivity"
          android:label="@string/settings"
          android:parentActivityName=".MainActivity"/>
<!-- ... -->

view_toolbar.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp">
</android.support.v7.widget.Toolbar>

activity_settings.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Toolbar -->
    <include
        layout="@layout/view_toolbar" />

    <!-- ... -->

我的onCreate方法:

super.onCreate(bundle)
setContentView(R.layout.activity_settings);

// Set the toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

到目前为止,我不应该有向上按钮,也没有。所以我们很好。但是,当我尝试添加它时,我无法。

首先,我尝试了这个:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

没用 然后,我想这(如图所示这里):

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    Toast.makeText(ToolbarActivity.this, "Up clicked", 
        Toast.LENGTH_SHORT).show();
    NavUtils.navigateUpFromSameTask(ToolbarActivity.this);
}
});

我什至尝试了一种在某处看到的解决方法,包括创建一个虚拟菜单并尝试从中获取事件onOptionsItemSelected(顺便说一句,从未调用过)。

我能做些什么?通过工具栏提供向上导航的正确方法是什么?

Yashas

非常简单 只需执行以下步骤:

  1. 将工具栏添加到activity_child.xml

(在我的项目中,将AppBarLayout其放置在中ConstraintLayout

<android.support.design.widget.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

...
  1. ChildActivity.java
public class ChildActivity extends AppCompatActivity
{

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_child);

        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_arrow_back_black_24dp);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  }

  ...
}

  1. 设置parentActivityName属性AndroidManifest.xml
<activity android:name=".ChildActivity"
            android:theme="@style/AppTheme.NoActionBar"
            android:parentActivityName=".ParentActivity"/>

重要的

为了这个正常工作,调用finish()父活动之后您调用startActivity(intent)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用工具栏主页按钮显示popBackStack

来自分类Dev

如何获得工具栏上使用的“向上”按钮?

来自分类Dev

在Android中使用工具栏实施正确的后退导航和主页按钮处理

来自分类Dev

如何在Android的v7工具栏中删除后退按钮?

来自分类Dev

如何提高iOS 7中工具栏和导航栏上的按钮的点击能力

来自分类Dev

使用getSupportActionbar和appcompat v7工具栏的“后退按钮”

来自分类Dev

如何在新的appcompat v7工具栏上设置NAVIGATION_MODE_LIST 21

来自分类Dev

如何对齐工具栏上的按钮?

来自分类Dev

使用工具栏导航回“父级”活动

来自分类Dev

如何使用appcompat v7创建卡片工具栏

来自分类Dev

使用工具栏的大小在Android工具栏上设置徽标

来自分类Dev

如何在UIVideoEditorController的工具栏上添加/修改按钮?

来自分类Dev

如何在Nautilus工具栏上添加/删除按钮?

来自分类Dev

如何在jqgrid工具栏上添加刷新按钮?

来自分类Dev

使用工具栏按钮更改UIPickerView值

来自分类Dev

如何使用工具栏更改工具栏名称和放置图标

来自分类Dev

AppCompat v7工具栏onOptionsItemSelected未调用

来自分类Dev

获取工具栏(v7)当前颜色

来自分类Dev

工具栏-添加向上按钮

来自分类Dev

如何在Xamarin表单中启用工具栏

来自分类Dev

工具栏上的向上按钮在RTL中指向左

来自分类Dev

工具栏上的向上按钮在RTL中指向左

来自分类Dev

Android:工具栏上的向上按钮处的右边距

来自分类Dev

如何在工具栏外使用免费的jqgrid搜索和查看工具栏按钮

来自分类Dev

如何使用工具栏在底部显示操作项

来自分类Dev

如何在Android工具栏上使用VectorDrawable?

来自分类Dev

工具栏(v7)显示为空白,但是按钮有效

来自分类Dev

如何在页面过渡期间禁用工具栏按钮?

来自分类Dev

如何在页面过渡期间禁用工具栏按钮?

Related 相关文章

  1. 1

    使用工具栏主页按钮显示popBackStack

  2. 2

    如何获得工具栏上使用的“向上”按钮?

  3. 3

    在Android中使用工具栏实施正确的后退导航和主页按钮处理

  4. 4

    如何在Android的v7工具栏中删除后退按钮?

  5. 5

    如何提高iOS 7中工具栏和导航栏上的按钮的点击能力

  6. 6

    使用getSupportActionbar和appcompat v7工具栏的“后退按钮”

  7. 7

    如何在新的appcompat v7工具栏上设置NAVIGATION_MODE_LIST 21

  8. 8

    如何对齐工具栏上的按钮?

  9. 9

    使用工具栏导航回“父级”活动

  10. 10

    如何使用appcompat v7创建卡片工具栏

  11. 11

    使用工具栏的大小在Android工具栏上设置徽标

  12. 12

    如何在UIVideoEditorController的工具栏上添加/修改按钮?

  13. 13

    如何在Nautilus工具栏上添加/删除按钮?

  14. 14

    如何在jqgrid工具栏上添加刷新按钮?

  15. 15

    使用工具栏按钮更改UIPickerView值

  16. 16

    如何使用工具栏更改工具栏名称和放置图标

  17. 17

    AppCompat v7工具栏onOptionsItemSelected未调用

  18. 18

    获取工具栏(v7)当前颜色

  19. 19

    工具栏-添加向上按钮

  20. 20

    如何在Xamarin表单中启用工具栏

  21. 21

    工具栏上的向上按钮在RTL中指向左

  22. 22

    工具栏上的向上按钮在RTL中指向左

  23. 23

    Android:工具栏上的向上按钮处的右边距

  24. 24

    如何在工具栏外使用免费的jqgrid搜索和查看工具栏按钮

  25. 25

    如何使用工具栏在底部显示操作项

  26. 26

    如何在Android工具栏上使用VectorDrawable?

  27. 27

    工具栏(v7)显示为空白,但是按钮有效

  28. 28

    如何在页面过渡期间禁用工具栏按钮?

  29. 29

    如何在页面过渡期间禁用工具栏按钮?

热门标签

归档