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

本文深入探讨Android应用开发中的关键技术点与优化策略,包括如何剥夺父view对touch事件的处理权、颜色渐变实现、LinearLayout动画、StateListDrawable动态加载、ListView焦点问题解决、子View状态跟随、TextView上下填充控制等核心内容。

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的,有时候我们可能不需要上下这部分留白,加上它即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值