java - 如何在折叠工具栏中设置导航箭头并设置 Onclicklistener

标签 java android toolbar android-toolbar

我正在为我的 Activity 实现一个折叠工具栏。我想知道是否可以将导航箭头设置为折叠工具栏布局并设置 Onclick 监听器,这将带我到上一个 Activity 。我可以仅使用工具栏布局成功实现此类功能,如下所示

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_details"
        android:title="Disclaimer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:minHeight="56dp"
        android:layout_alignParentTop="true"
        app:theme="@style/ThemeOverlay.AppCompat.Light"/>

在 OnCreate 方法中,我使用

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_details);
        setSupportActionBar(toolbar);
        tutorProfile.this.setTitle(getIntent().getStringExtra("My Dashboard"));
        toolbar.setNavigationIcon(R.drawable.ic_arrow_back_black_24dp);


        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent check = new Intent(CurrentActivity.this, PreviousActivity.class);
                startActivity(check);
                finish();

            }
        });

但是在折叠工具栏布局中如何实现相同的功能。这是 xml 布局

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing"
        android:layout_width="match_parent"
        android:layout_height="150dip"
        android:fitsSystemWindows="true"
        app:contentScrim="#784242"
        app:expandedTitleMarginBottom="20dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            app:layout_collapseMode="parallax"
            android:src="@drawable/feedback_draw"
            android:contentDescription="@string/app_name"
            android:scaleType="centerCrop"
            android:layout_width="match_parent"
            android:layout_height="200dp" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="pin" />

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

我搜索了几分钟但找不到任何解决方案。感谢您提前提供帮助。

最佳答案

为什么不简单地使用 toolbar.setDisplayHomeAsUpEnabled(true) 然后

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        android.R.id.home -> {
            finish()
            return true
        }
    }
    return super.onOptionsItemSelected(item)
}

关于java - 如何在折叠工具栏中设置导航箭头并设置 Onclicklistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57311600/

相关文章:

JAVA展示13套

Java 日历 - 设置 day_of_week 后日期不可预测

java - 在 LinearLayout 中居中多个 Framelayout

java - 在 TAI 中以编程方式验证用户身份

java - lwjgl3 窗口调整大小最终事件?

java - 错误 :Execution failed for task ':app:transformClassesAndResourcesWithProguardForDebug'

android - 如何检测 Android 设备是以秒还是毫秒为单位存储媒体日期?

iphone - UIBarButtonSystemItem PageCurl 不随工具栏改变颜色

c++ - QtToolBar 在按钮文本中带有带下划线的快捷键

c# - 以编程方式将加载项按钮添加到标准工具栏