题
我正在使用Android Studio模板中的导航抽屉.我想在我的一些片段中使用UP按钮(箭头)插入“汉堡”按钮.
我使用AppCompatActivity.
我使用此代码显示UP按钮箭头:
public voID UseUpbutton(boolean value) { Actionbar actionbar = getSupportActionbar(); if (value) { actionbar.setdisplayHomeAsUpEnabled(false); toggle.setDrawerIndicatorEnabled(false); actionbar.setdisplayHomeAsUpEnabled(true); actionbar.setdisplayShowHomeEnabled(true); } else { toggle.setDrawerIndicatorEnabled(true); }}
试过的变种:
但是我无法点击这个按钮.我试过一些方法:
使用onoptionsItemSelected
public boolean onoptionsItemSelected(MenuItem item) { Log.d("WTF", "menu"); switch (item.getItemID()) { case androID.R.ID.home: getFragmentManager().popBackStack(); return true; default: return super.onoptionsItemSelected(item); }}
我添加了getSupportActionbar().setHomebuttonEnabled(true);到我的Activity :: onCreate,但当我按下向上按钮时,onoptionsItemSelected没有被调用,当我按下菜单项时,它正常工作.
使用ActionbarToggle OnClickListener
DrawerLayout drawer = (DrawerLayout) findVIEwByID(R.ID.drawer_layout);toggle = new ActionbarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);drawer.setDrawerListener(toggle);toggle.syncState();toggle.setToolbarNavigationClickListener(new VIEw.OnClickListener(){ @OverrIDe public voID onClick(VIEw v) { } });
但是这种方法也没有按下Up按钮.
结论:
那么,我怎样才能抓住向上按钮按下事件?
解决方法:
几天前我在某个地方发现了这个……
在我的代码中,我初始化ActionbarDrawerToggle.它有一些构造函数,但我对此感兴趣:
1
public ActionbarDrawerToggle(Activity activity, DrawerLayout drawerLayout, @StringRes int openDrawerContentDescRes, @StringRes int closeDrawerContentDescRes) { this(activity, null, drawerLayout, null, openDrawerContentDescRes, closeDrawerContentDescRes);}
2
public ActionbarDrawerToggle(Activity activity, DrawerLayout drawerLayout, Toolbar toolbar, @StringRes int openDrawerContentDescRes, @StringRes int closeDrawerContentDescRes) { this(activity, toolbar, drawerLayout, null, openDrawerContentDescRes, closeDrawerContentDescRes);}
看一看:第二个构造函数有工具栏工具栏参数.
如果你想处理UP button事件,请不要使用第二个CONSTUCTOR并先使用.
例:
toggle = new ActionbarDrawerToggle( this, drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close);getSupportActionbar().setHomebuttonEnabled(true);
setHomebuttonEnabled很重要,没有这个你就看不到汉堡包或者Up按钮了.
总结以上是内存溢出为你收集整理的android – 使用导航抽屉实现UP按钮 *** 作全部内容,希望文章能够帮你解决android – 使用导航抽屉实现UP按钮 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)