如何在折叠工具栏中设置导航箭头并设置Onclicklistener
How to set Navigation arrow in Collapsing Toolbar and set Onclicklistener
我正在为我的 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();
}
});
但是在Collpasing toolbar layout中如何实现同样的功能。这是 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)
}
我正在为我的 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();
}
});
但是在Collpasing toolbar layout中如何实现同样的功能。这是 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)
}