今年刚刚跳槽到了新公司,也开始转型作Android,由此开始Android的学习历程。android
最近在解不少UI的bug,在解bug过程当中,总结了在UI的实现过程当中,页面返回上一页面的几种实现方式。ide
一. 本身布置一个back的按钮或图片学习
固然就要本身写回退实现的逻辑,例如back的id为R.id.back,在onClick方法中,switch case中调用finish方法,case R.id.back: finish();back();spa
二. 使用系统提供的Action Barcode
Action Bar是一种新増的导航栏功能,在Android 3.0以后加入到系统的API当中,它标识了用户当前操做界面的位置,并提供了额外的用户动做、界面导航等功能。 xml
简单来讲,就是系统提供的标准组件,让咱们方便的实现后退功能。blog
ActionBar的添加很是简单,只须要在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类就能够了。事件
但有一点要注意的是,若是要在Java代码中操做ActionBar,例如setTitle,指定其文字,必须在onStart方法中进行,而不能是onCreate方法,由于在系统周期中,onStart方法时View才是可见的。图片
1 @Override 2 public void onStart() { 3 super.onStart(); 4 if (mIsInProvision) { 5 getActionBar().setTitle(R.string.connect_to_internet); 6 } 7 }
另外,若是要处理action bar的点击事件,例如点击action bar时禁止后退,只须要在onOptionsItemSelected方法中处理android.R.id.home的事件就能够了。id.home就是action bar的id。 get
1 @Override 2 public boolean onOptionsItemSelected(MenuItem item) { 3 switch (item.getItemId()) { 4 case android.R.id.home: 6 return false;12 } 13 return super.onOptionsItemSelected(item); 14 }
如上的代码,点击action bar将不能回退。
三. 机器上的back按键
处理此按键的后退功能,只须要在onBackPressed方法中就能够。
1 @Override 2 public boolean onBackPressed() { 3 return true; 4 }
以上就是本身在解Bug中总结的三种方式,做为小白,继续学习Android~加油~
- 2016年5月6日午