Android HandleView HotspotY

2017/08/10 Android

这个字段表示的含义如下图,矩形框表示HandleView的边框,中间的线到顶部的距离表示mIdeaVerticalOffset,p0,p1分别表示不同情况的触摸点。这条线的作用类似于Hotspot,表示手指拖动整个HandleView时,这条线始终在手指的触摸点上。具体是通过下面几点做到的:

  1. 当从p0或p1滑向mIdeaVerticalOffset这条线时,光标不换行
  2. 如果从p0点向上滑动,光标立即换行
  3. 如果从p1向上滑动,并且超过了这条线,光标立即换行
  4. 如果从p0向下滑动,并且超过了这条线,从这条线开始算,继续向下滑动,滑动的距离超过一行高度,光标才换行
  5. 如果从p1向下滑动,滑动的距离超过一行高度,光标才换行

img

简单来讲,当向上滑动时,只要超过了这条线,就立即换行。向下滑动时,如果超过了这条线,要继续滑动超过一行高度的距离,才换行。这是因为HandleView显示在文字的下方。由于HandleView顶部与文字顶部对齐,为了让手指不要盖住文字,这条线到顶部的距离至少超过一行的高度。

img

将TextView的singleLine设置为true,TextView的gravity属性设置会失效,文字始终以Top排版

Search

    Post Directory