在我的应用程序中,我正在从ActionBar迁移到Toolbar. 但是我不知道如何在Toolbar的后退箭头上显示和设置单击事件,就像我在Actionbar上所做的那样.

在此处输入图像描述

有了ActionBar,我就打mActionbar.setDisplayHomeAsUpEnabled(true).

有没有人曾经面对过这种情况,并以某种方式找到了解决办法?

推荐答案

如果你使用的是ActionBarActivity,那么你可以告诉Android使用Toolbar作为ActionBar,如下所示:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

然后调用到

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

会有用的.你也可以在连接到ActionBarActivities的碎片中使用它,你可以这样使用它:

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

如果您没有使用ActionBarActivities,或者如果您想在未设置为SupportActionBarToolbar上获得返回箭头,则可以使用以下选项:

mActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
mActionBar.setNavigationOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
       //What to do on back clicked
   }
});

如果您使用的是android.support.v7.widget.Toolbar,那么您应该在AppCompatActivity中添加以下代码:

@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return true;
}

Android相关问答推荐

Jetpack编写日期 Select 器

如何允许我的应用程序在Android 10上运行,同时目标是API 33

如何使TextField的背景透明?

如何使用Gradle风味在两个Kotlin导入(Google vs Amazon Java billing library)之间进行 Select ?

在Kotlin Jetpack Compose中点击按钮后启动另一个Android应用程序

原因平滑滚动的滞后懒惰列在android jetpack compose

try 用Jetpack Compose理解视图模型和导航

Android Kotlin ImageView内置于Kotlin ImageView中.适配器未按预期更新

如何在使用带有底部导航组件的片段管理器时更改片段工具栏的标签

如何使用其他组件的位置来定位自定义弹出窗口

Play store 的 Play 完整性与 Firebase 应用判断 Play 完整性

在本地通知中设置自定义声音

Compose 状态不是 recomposing

围绕动态大小的内容包装 Jetpack Compose Row?

如何正确地将图像上传到 Jetpack Compose 中的 LazyList 中的项目?

如果 auth 失败,如何显示 toast jetpack compose firebase if else @Composable 调用只能在 @Composable 函数的上下文中发生

在compose中,为什么修改List元素的属性,LazyColumn不刷新

如何在 compose 中使用 BottomSheetScaffold 为底页设置半展开高度?

Jetpack Compose:如何绘制这样的路径/线

单击登录按钮后从应用程序中退出