本系列博客就是用于总结平时开发用到的技巧或者方法,用于开发者能更好的编码,如果有帮助或者有错误都可以下方留言,谢谢
成功源于开始的积累
- String.format(“3>7是:%b”,3>7) 输出是3>7是false
作用:用于替换输出,只需要更改输入的内容,结果和根据输入的内容去更改 String result = "实时更新中,当前大盘指数<font color='red'>%d</font>" Html.fromHtml(result)
; 可以将文字像html一样编写, 返回格式spanner类型,可以通过textview的settext进行设置。作用:显示一句话时,不同的文字不同的颜色。- ViewStub是一种默认不可见的视图,它没有大小所以不能被改变,它可以设置layout属性,当我们想加载对应的布局的时候调用inflate加载,在未使用的时候消耗较低的内存。作用:优化ui加载性能,替代设置View.GONE ,不过这个只能加载一次,如果多次的情况仍然推荐使用设置View的View.GONE
- View 停止动画的方法:clearAnimation()。
- 一般情况下我们无法在OnCreate()中获取View的宽高,不过通过以下代码强制测量就可以得到了
我们在onCreate里面得到的控件的宽高全是0。采用下面的方法,可以得到真实的宽高
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
imageView.measure(w, h);
int height =imageView.getMeasuredHeight();
int width =imageView.getMeasuredWidth();
textView.append("\n"+height+","+width);
- 对与ListView有的时候不设置宽度会导致无法点击Item
- 对于类的静态成员变量,它对于类本身和类所有的对象都是公用的,它使用的是同一块内存空间,更改其中的一个其他的也会修改。
- 一个接口可以继承多个接口.interface C extends A, B {}是可以的.
一个类可以实现多个接口:class D implements A,B,C{}
但是一个类只能继承一个类,不能继承多个类 class B extends A{}
在继承类的同时,也可以继承接口:class E extends D implements A,B,C{}
这也正是选择用接口而不是抽象类的原因 - RelativeLayout 设置垂直居中此时设置marggin_top 或者marggin_bottom 仍然有效
- EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的
android:textCursorDrawable=”@null”,”@null”作用是让光标颜色和text color一样,当然也可以设置为其他颜色 - 如果想让软键盘不自动弹出 设置activity 属性 android:windowSoftInputMode=”adjustUnspecified|stateHidden”
stateUnspecified :未指定默认状态 stateHidden:隐藏 ,默认隐藏,点击后会显示
adjustUnspecified: 让界面适应软键盘的位置和大小会让界面上移 - 第二种不让软键盘弹出的方法就是设置他的父布局focusable=”true” ,软键盘一样可以不弹出。
- 判断一个类是不是另一的实例(对于接口也适用)activity instanceof ISearch
- 如果设置的布局用于Fragenment或者popuwindow,此时的点击时间传递到了下面的布局时,可以设置Fragement或者popuwindow的布局
android:clickable="true"
。 - List 对对应位置的操作有 add(int postion, object object) 这个是在指定位置添加,且他后面的的向后退。set(position, object object ) 设置某个位置的对象为谁,之前的被替换。
- popuwindow 不支持内部再添加surfaceView
- include 方式导入通用布局使用layout_width 和layout_height 会覆盖原布局的此属性
- 对于对象的初始化设置为null ,会节省内存。
- 属性动画可以设置多个动画同时进行。传统动画只能设置一个view 的多个动画
- Button可以通过设置Selector切换不同状态的背景图,TextView也可以通过selector去切换不同状态的文字颜色,此时TextView 需要设置clickable=true