很多朋友都用ActivityGroup 来做底部菜单吧~
我也觉得这个控件很好,自由性比tab好很多。但是确实发现了很多问题:
1.子页面activity的menu不显示。(子页面的按键监听无输出,所以其他按键也无效!)
2. 子页面默认wrap_content布局,无法设置为fill_parent!需根据页面大小动态设置!(这里参考另一篇:http://androidturing.iteye.com/blog/1258839)
3.子页面中的ListView的getView()方法被重复调用多次!导致性能下降。(同样参考:http://androidturing.iteye.com/blog/1258839)
之前第二个问题已经解决,第三个问题是由于第二个问题中 子页面纵向布局为wrap_content而引起的!
今天发现并解决了第一个bug,在activitygroup加上这个:
@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("您确定要退出吗?"); builder.setPositiveButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 退出程序 Intent exitIntent = new Intent(Intent.ACTION_MAIN); exitIntent.addCategory(Intent.CATEGORY_HOME); startActivity(exitIntent); YeedoUIActivity.this.finish(); } }); builder.setNegativeButton("取消", null); builder.show(); return true; } return super.dispatchKeyEvent(event); }