我正在打开一个应用程序导航抽屉中的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>
从恢复()中删除此行:
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”,然后才打开应用程序抽屉。 如何将抽屉图标重置为后退图标? 所需的箭头: