具有状态的Drawable: StateListDrawable -> DrawableContainer
Drawable.onStateChange()
View.setPressed()对Background drawable状态的操作;
View.setPressed
View.refreshDrawableStateView.drawableStateChanged
View.mBackgroundDrawable.setState(state);
View中释放PressedState的逻辑:
View.onTouchEvent()
case ACTION_UP:
setPressed(true); //设置按下状态
post(mPerformClick); //performClick();回调点击事件
post(mUnsetPressedState); //释放按下状态
本文探讨了Android中StateListDrawable的工作原理及其与View状态之间的交互。详细解析了如何通过View.setPressed()来改变背景Drawable的状态,以及View内部如何响应触摸事件并释放按下状态。
832

被折叠的 条评论
为什么被折叠?



