android – Gallery / AdapterView子可绘制状态

我正在使用一个图库视图,其中对应于每个项目的视图是非平凡的,包括文本和多个按钮.

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

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

有任何想法吗?

解决方法

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

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

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...