Android语录
1. application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。因为它是全局的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象。因此在安卓中我们可以避免使用静态变量来存储长久保存的值,而用Application。
2. 去除或者替换listView点击的颜色
用到的属性:android:listSelector="#00000000"
3. ActionBar 就是TitleBar, 用于appMainActivity的顶部,一般是一个全局对象
4. SlidingMenu和DrawerLayout的区别就是slidingmenu 也是将view分为上下两层 但是最上层的是主内容页而下一层才是菜单页。
而drawerlayout的实现是刚好相反的 菜单页是在内容页之上的 而且据我掌握的 slidingmenu的菜单宽度可以利用与菜单目标方向相距多少来确定 而drawerlayout则是直接知道菜单的大小
5. visibility属性:INVISIBLE和GONE的主要区别是:当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,界面则不保留view控件所占有的空间。
6. Json的数据格式采用Gson去解析的方法是存在异常的,比如value为null, 所以需要在catch语句里面处理value为null的情况
7. OnClickListener 和OnTouchListener, OnTouchListener 主要是处理ACTION_DOWN(按下去)和ACTION_UP(松开)事件, 而 OnClickListener 则是处理点击事件
如果同时注册了这两个监听器,则先调用OnTouchListener , 如果返回true,则不会调用OnClickListener
6. 上中下布局,上下高度指定,中间高度自适应的方法:中间的View分别设置 android:layout_above和android:layout_below这两个属性,这样中间的View就会自动填充中间剩下的部分,并且
中间的View的layout_height属性失效.
7. List在使用前仔细检查是否已经初始化,尤其是在操作其它类的静态List时
8. 在listView的setOnItemClickListener时,应当调用的是mAdapter.getItem(position)方法,这样就能实现获取动态的数据
9. 伊卡洛斯之翼,阿喀琉斯之踵
10. 接口的定义里面声明了一个空方法,任何类在实现了这个接口时必须重写该接口中申明的方法,
因为在需要传递该接口实现类 类型变量的方法内部就调用了该接口中申明的方法
11. Activity页面加载的方式 (效果)跟手机的主题,有关
12. Json数据如果是普通对象,需要转成JSonObject,如果值为null,则进入异常;
如果是数组对象,需要转成String,然后使用Gson转成自定义的对象,如果值为null,则会被转成"null",不会触发异常
13. EditText取消高亮的方法:在edittext的父容器中配置属性:
android:focusable="true"
android:focusableInTouchMode="true"
14. 分割线的背景颜色:#BFBFBF
15. // 当屏幕顶部的item的position不为0的时候即listView顶部超过了屏幕,开启上拉加载
1 if (NoticeCenterNotice.mXListView.getFirstVisiblePosition() != 0) { 2 NoticeCenterNotice.mXListView.setPullLoadEnable(true); 3 }
16. webView 的数据体应当使用在线JSon转义,这样可以解析数据体中的Unicode编码