zoukankan      html  css  js  c++  java
  • Android 有用代码片段总结

    在Android开发过程中,不同的项目之间总会复用到一些有用的代码,这里记录下来,方便以后使用。

    一、Android判断点击区域是否在指定的View之内

        @Override
        public boolean onInterceptTouchEvent(MotionEvent ev)  
        {   
           Rect rect = new Rect();
           View.getGlobalVisibleRect(rect);
    
           if (rect.contains((int)ev.getRawX(), (int)ev.getRawY()))
           {
                return false;
            }
          
            return super.onInterceptTouchEvent(ev);
        }

     二、ListView点击没有反应的问题(一般是自己定义的item中存在ImageButton, Button, CheckBox等自控件)

    原因一般是自己定义的item中含有Button或者Checkable的子控件,获取了焦点,点击item时,只有这些子控件响应,item本身没有响应。

    解决的办法是在item.xml的layout中加入属性

    android:descendantFocusability="blocksDescendants" 

    三、旋转屏幕时禁止Activity重启

    android3.2以前,我们习惯在AndroidManifest.xml 中添加activity属性android:configChanges="orientation|keyboardHidden" , 但是在android 3.2以后的版本需要增加“Screen Size”,即android:configChanges="orientation|keyboardHidden|screenSize",才可以禁止Activity重启。

    SDK描述如下,在“Handling the Configuration Change Yourself”段落中。

    http://developer.android.com/guide/topics/resources/runtime-changes.html

    四、获取AndroidManifest.xml中配置的应用版本号

       public String getVersion()
       {
          try
          {
             PackageManager manager = this.getPackageManager();
             PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
             String version = getString(R.string.version) + info.versionName;
             return version;
          }
          catch (Exception e)
          {
             e.printStackTrace();
             return "1.0";
          }
       }
  • 相关阅读:
    自我介绍
    工作流
    spring框架
    关于建立内部会议讨论规范的想法
    论文第3章:移动绘图平台的架构设计
    迭代器、推导式、函数式编程学习笔记
    Python装饰器学习(九步入门)
    Inkpad绘图原理浅析
    从零开始创建一个插件
    Entity Framework的启动速度优化
  • 原文地址:https://www.cnblogs.com/shaddock2013/p/3017085.html
Copyright © 2011-2022 走看看