一、android:descendantFocusability 这个属性一般是用于处理listview条目中有抢占焦点能力比较强的控件的事件分发(作用于父控件),有三个可选值
第一个:beforeDescendants 对应的value是0,这个值代表父控件会在子控件获取焦点之前获取焦点。
第二个:afterDescendants 对应值是1,代表只有子控件不需要获取焦点的时候父控件才获取焦点。
第三个:blocksDescendants 对应值是2,代表父控件会覆盖子类控件而直接获取焦点。(通常使用第三种)
所以我们只需要在每一项Item布局的根布局加上android:descendantFocusability=”blocksDescendants”属性就好了。
二、android:addStatesFromChildren 这个属性一般用来处理子布局和父布局同步属性设置使用的,比如:一般情况下我们需要设置子布局的背景颜色之类的属性,这个时候经常出现子布局的背景颜色变化了但是父布局的背景颜色没有变化,和我们期望整体变化的效果不一样,这个时候就是用到这个属性了。官方API解释:
Sets whether this ViewGroup’s drawable states also include its children’s drawable states. This is used, for example, to make a group appear to be focused then its child EditText or button is focused;
三、布局背景透明,background=”@null” 或 background=”#00000000” 或background=”透明的图片”。
四、TextView.setError() 在验证用户输入的时候很棒。
五、Space是Android 4.0中新增的一个控件,它实际上可以用来分隔不同的控件,其中形成一个空白的区域.这是一个轻量级的视图组件,它可以跳过Draw,对于需要占位符的任何场景来说都是很棒的。
六、ValueAnimator.reverse() 这个可以很方便的关闭当前还没有执行结束的动画,防止应用因为动画的生命周期引起来的bug。
七、使用SpannableStringBuilder 实现TextView 的图文混排,实现RichTextView特别方便。
八、ArgbEvaluator 用于处理颜色的渐变。
九、ContextThemeWrapper 方便在运行的时候修改主题。
具体的使用方式资源连接:https://developer.android.com/reference/packages.html
还有很多方便有效的api希望大家能多多提供交流,谢谢!!