【问题标题】:Hamburger icon changes on Back Arrow icon after closing the previous Activity关闭前一个活动后,汉堡包图标在后退箭头图标上发生变化
【发布时间】:2017-11-15 21:43:59
【问题描述】:

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

这里是 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>

【问题讨论】:

    标签: android navigation-drawer


    【解决方案1】:

    onResume()中删除这一行:

    getSupportActionBar().setDisplayHomeAsUpEnabled(false);
    

    【讨论】:

    • 或者只是让它 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    • 没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多