android – Gallery / AdapterView子可绘制状态

前端之家收集整理的这篇文章主要介绍了android – Gallery / AdapterView子可绘制状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一个图库视图,其中对应于每个项目的视图是非平凡的,包括文本和多个按钮.

当我单击拖动图库视图(某个位置不在其中一个按钮上)时,按钮的可绘制状态将更改为按下并显示为当前正在按下所有按钮.此外,对于所选状态也会发生相同的行为(例如,子TextView的所有文本都会更改颜色).

我试图阻止这种行为,并找到了android:duplicateParentState xml属性以及setDuplicateParentStateEnabled属性.这似乎应该完成我想要做的事情,但似乎没有任何效果.

有任何想法吗?

解决方法

也许有点迟到,但最近自己遇到了这个问题我有一个修复.

dispatchSetSelected和dispatchSetPressed在这里并没有真正帮助,因为您实际需要覆盖的方法在Gallery中是私有的.

解决方案是在子视图周围添加一个额外的布局(我使用了LinearLayout的子类),它覆盖了setPressed(boolean)并简单地忽略它.这可以防止画廊强制对孩子施加按压状态,同时仍然允许直接激活这些孩子,而不是阻止事件向上传播.

猜你在找的Android相关文章