ghe*_*ton 7 viewstate android gallery drawable android-adapterview
我正在使用一个图库视图,其中对应于每个项目的视图是非平凡的,包括文本和多个按钮.
当我单击拖动图库视图(某个位置不在其中一个按钮上)时,按钮的可绘制状态变为按下并显示为当前正在按下所有按钮.此外,对于所选状态会发生相同的行为(例如,子TextView的所有文本都会更改颜色).
我试图阻止这种行为,并找到了android:duplicateParentState xml属性以及setDuplicateParentStateEnabled属性.这似乎应该完成我想做的事情,但似乎没有任何效果.
有任何想法吗?
也许有点迟到,但最近我遇到了这个问题,我有一个修复.
dispatchSetSelected和dispatchSetPressed在这里并没有真正帮助,因为您实际需要覆盖的方法在Gallery中是私有的.
解决方案是在子视图周围添加一个额外的布局(我使用了LinearLayout的子类),它覆盖了setPressed(boolean)并简单地忽略它.这可以防止画廊强迫孩子按下它的状态,同时仍然允许直接激活这些孩子,而不是阻止事件向上传播.
不确定duplicateParentState属性在哪里发挥作用,但突破源代码表明它从未被考虑到选定和按下状态。我会创建一个自定义视图类并重写dispatchSetSelected 和dispatchSetPressed 方法。
| 归档时间: |
|
| 查看次数: |
2282 次 |
| 最近记录: |