wea*_*ire 8 android gesture linkify
问题是,如果我链接textView,underLyng ScrollView不会听我设置的扫描手势.有没有办法让Linkify不会搞乱underliyng视图的手势?我试图覆盖ontouchEvent并将false返回给ACTION_MOVE,但是scrollview的手势需要ACTION_DOWN和ACTION_UP事件才能运行.有没有办法实现这一目标?
wea*_*ire 47
Linkify适用于textView的movementMethod LinkMovementMethod.该运动方法认为它实现了一个垂直滚动方法,它覆盖了父有的任何其他滚动方法.虽然   touchEvent可以dispached到母体,所述特定父ScrollView所需的整个序列ACTION_DOWN,ACTION_MOVE,ACTION_UP以执行(扫描检测).
所以我的问题的解决方案是在Linkify之后删除textView的滚动方法并处理textView中的LinkMovementMethod链接检测操作onTouchEvent.
@override
public boolean onTouchEvent(MotionEvent event) {
        TextView widget = (TextView) this;
        Object text = widget.getText();
        if (text instanceof Spanned) {
            Spannable buffer = (Spannable) text;
            int action = event.getAction();
            if (action == MotionEvent.ACTION_UP
                    || action == MotionEvent.ACTION_DOWN) {
                int x = (int) event.getX();
                int y = (int) event.getY();
                x -= widget.getTotalPaddingLeft();
                y -= widget.getTotalPaddingTop();
                x += widget.getScrollX();
                y += widget.getScrollY();
                Layout layout = widget.getLayout();
                int line = layout.getLineForVertical(y);
                int off = layout.getOffsetForHorizontal(line, x);
                ClickableSpan[] link = buffer.getSpans(off, off,
                        ClickableSpan.class);
                if (link.length != 0) {
                    if (action == MotionEvent.ACTION_UP) {
                        link[0].onClick(widget);
                    } else if (action == MotionEvent.ACTION_DOWN) {
                         Selection.setSelection(buffer,
                                 buffer.getSpanStart(link[0]),
                                 buffer.getSpanEnd(link[0]));
                    }
                    return true;
                }
            }
        }
        return false;
    }
这种方式我有Link_Click检测(仅在用户触摸链接而不是整个textview时执行)并且我没有整个LinkMovementMethod.
| 归档时间: | 
 | 
| 查看次数: | 5908 次 | 
| 最近记录: |