当前位置: 首页 > 知识库问答 >
问题:

关闭上一个活动后,返回箭头图标上的汉堡图标发生变化

穆仲卿
2023-03-14

我正在打开一个应用程序导航抽屉中的About页面。它创建一个意图并开始一个新的活动。在AboutActivity中,我显示了一个反箭头,当我在MainActivity上关闭此活动时,汉堡包图标变为反箭头图标。

以下是主要活动:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mDrawerToggle = new ActionBarDrawerToggle(
            this, mDrawer, mToolbar, R.string.drawer_open, R.string.drawer_close) {
        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            LogUtils.d(TAG, "onDrawerOpened() ");

            KeyboardUtils.hideKeyboard(getBaseContext(), drawerView);

            invalidateOptionsMenu();
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            LogUtils.d(TAG, "onDrawerClosed: " + getTitle());
            invalidateOptionsMenu();
        }
    };
    //calling sync state is necessary or else your hamburger icon wont show up
    mDrawerToggle.setDrawerIndicatorEnabled(true);
    mDrawerToggle.syncState();

    /* res/menu/drawer_menu.xml */
    mNavigationView.setNavigationItemSelectedListener(this);

    setContentView(R.layout.activity_main);
}

@Override
protected void onResume() {
    super.onResume();

    if(getSupportActionBar() != null){
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);
    }
    mDrawerToggle.syncState();
}

以下是关于活动的内容:

public class AboutActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final String version = getString(R.string.about_version, BuildConfig.VERSION_NAME, String.valueOf(BuildConfig.VERSION_CODE));
    final View aboutPage = new AboutPage(this)
            .isRTL(false)
            .setDescription(version)
            .addGroup("Connect with us")
            .addEmail("log@lunni.fi")
            .addPlayStore("fi.lunni.mobileadvisor")
            .addYoutube("UCubK_NmfkAGPzo5UfiStsVQ")
            .addWebsite("https://lunni.fi/")
            .create();

    final ImageView image = (ImageView) aboutPage.findViewById(mehdi.sakout.aboutpage.R.id.image);
    image.setImageDrawable(ImgUtils.changeColor(this, R.drawable.lunni_logo_icon_white, R.color.lunni_blue));
    setContentView(aboutPage);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        // Respond to the action bar's Up/Home button
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}
}

在Manifest.xml

    <activity android:name=".ui.activities.AboutActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".ui.activities.MainActivity" />
    </activity>

共有1个答案

慕承允
2023-03-14

从恢复()中删除此行:

getSupportActionBar().setDisplayHomeAsUpEnabled(false);
 类似资料:
  • 这个人基本上遇到了与我相同的问题,但是,提供的解决方案没有帮助,也不适用于我,因为我的代码实际上正在调用mDrawerToggle。sycnState()(在延迟的Runnable中)。 我还尝试将其添加到我的片段中创建的onActivityCreated中,它似乎没有任何作用。我不知道syncState到底做了什么,我无法判断它是否正在同步打开的状态(模板代码默认情况下会发生这种情况),然后当抽

  • 我正在构建的应用程序使用抽屉菜单和扩展。我有一个父片段被子片段替换。在父片段上,默认汉堡图标正确切换抽屉菜单。而在子片段上,汉堡图标使用此片段被后箭头图标替换 在子片段返回按钮上,点击事件在选项ItemSelected()上处理,父片段的汉堡图标在顶部()上再次显示。 在父片段汉堡包图标现在显示正常,但点击它,抽屉菜单不会再次显示。 谁能帮我解释一下我做错了什么? 以下是相关文件: MainAct

  • 我使用setDisplayHomeAsUpEnabled来显示箭头,而不是抽屉中的“汉堡”图标,但它没有得到动画或任何东西。相反,它显示了可即时绘制的箭头。 主屏幕:(专辑1) 当您点击电影时:(专辑2) 问题是,当我滑动抽屉时,图标的动画效果很好,这让我觉得也许我不应该使用SetDisplayHomeAsupaned来实现这一点:(相册3) 专辑:http://imgur.com/a/LkXbh

  • 我已经实现了带有汉堡包图标的ActionBarDrawerTougle(支持库v7),但由于某种原因,切换仅在未运行5.0的设备上显示“返回”箭头(我已经确认所有4. x版本都是如此)。这是正常行为吗? 箭头如下所示: 现在箭头图标没有变化。抽屉菜单拉出时,或者折叠模式时都是一样的。 这就是我如何初始化抽屉切换等。 编辑 进行一些澄清。我使用的是旧的常规操作栏,而不是工具栏。汉堡图标在5.0设备上

  • 如何像WhatsApp一样在android工具栏中显示带后退箭头的图标? 我使用下面的代码设置向后箭头 但我得到的结果如下图所示。 我希望图标紧接在倒退箭头之后。我不希望倒退箭头之间有任何间隙 如何像WhatsApp一样在工具栏中设置带后退箭头的图标?

  • 我正在使用新的来进行侧导航。我使用抽屉图标(“汉堡包”)如下所示: 但是,当我将添加到backstack时,我想再次显示back箭头,这样用户就可以导航回“home”,然后才打开应用程序抽屉。 如何将抽屉图标重置为后退图标? 所需的箭头: