zoukankan      html  css  js  c++  java
  • Android

      今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程。

      最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式。

    一. 自己布置一个back的按钮或图片

       当然就要自己写回退实现的逻辑,例如back的id为R.id.back,在onClick方法中,switch case中调用finish方法,case R.id.back: finish();back();

    二. 使用系统提供的Action Bar

           Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。       

           简单来说,就是系统提供的标准组件,让我们方便的实现后退功能。

           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。        

     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日午

  • 相关阅读:
    python threading 锁的应用
    python线程threading处理任务并发一
    *,arg,*args,**kwargs的使用
    web services 接口调用
    jsonp与ajax
    无缝滚动详解
    手机端使用rem适配
    css3写的实用表单美化
    经典仿淘宝商城菜单多条件查询
    css3 flex写的移动端界面
  • 原文地址:https://www.cnblogs.com/KevinSong/p/5463518.html
Copyright © 2011-2022 走看看