Android View 处理相见恨晚的知识点

1.getParent().requestDisallowInterceptTouchEvent(true);
剥夺父view 对touch 事件的处理权,谁用谁知道。


2.ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue);
用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实现类似于微信底部栏滑动颜色渐变。


3.android:animateLayoutChanges=”true”
LinearLayout中添加View 的动画的办法,支持通过setLayoutTransition()自定义动画。


4.StateListDrawable
定义Selector通常的办法都是xml文件,但是有的时候我们的图片资源可能是从服务器动态获取的,比如很多app所谓的皮肤,这种时候就只能通StateListDrawable来完成了,各种addState即可


5.android:descendantFocusability
ListView的item中CheckBox等元素抢焦点导致item点击事件无法响应时,除了给对应的元素设置 focusable,更简单的是在item根布局加上android:descendantFocusability=”blocksDescendants”


6.android:duplicateParentState=”true”
让子View跟随其Parent的状态,如pressed等。常见的使用场景是某些时候一个按钮很小,我们想要扩大其点击区域的时候通常会再给其包裹一层布局,将点击事件写到Parent上,这时候如果希望被包裹按钮的点击效果对应的Selector继续生效的话,这时候duplicateParentState就派上用场了


7.includeFontPadding=”false”
TextView默认上下是有一定的padding的,有时候我们可能不需要上下这部分留白,加上它即可。

你可能感兴趣的:(Android View 处理相见恨晚的知识点)