点击事件冲突
0xhyperdan opened this issue · comments
Hyperdan commented
如果列表的item有点击事件。点击整个item的时候 PhotoContents中所有的FoucsClickImageView都会触发前景的点击 整体闪一下。
Razerdp commented
好的,我今晚看看
丛蛋白 commented
嗯,我把列表的Item点击事件用onTouch替代了。
Razerdp commented
昨晚看了一下,事实上跟photocontents无关,是FoucsClickImageView的state被改变了,也就是说点击item的时候把事件都传递了下去,然而很奇怪的是,如果我设置了imageview需要在focued时才触发前景色的变化,却发现永远无法获取焦点。。。
所以迟点我打算把imageview不用drawable,而是采取touch+colorFliter的方式。
丛蛋白 commented
嗯 就是 FoucsClickImageView 我暂时把list的点击事件改成了。onTouch
Razerdp commented
ya,你也可以提交一下你的解决方案哦-V- 我现在还在组件化朋友圈的项目,所以这边暂时可能不会提交。
丛蛋白 commented
private long pressTime = 0;
@Override
public boolean onTouch(View v, MotionEvent event) {
long upTime;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
pressTime = System.currentTimeMillis();
break;
case MotionEvent.ACTION_UP:
upTime = System.currentTimeMillis();
if ((upTime - pressTime) < 200) {
if (listener != null) {
listener.onItemClick(mList.get(getAdapterPosition()));
}
}
break;
}
return true;
}
}
ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
itemView.setOnTouchListener(this);
mPhotos.setmOnItemClickListener(this);
}
这算是解决方案么
Razerdp commented
好的,看起来你这个是从时机应用场景里入手呢,我打算是从库着手(准确说是FoucsClickImageView控件),刚刚把朋友圈项目组件化更新了一下,可以闲下来搞这边的了-V-