Android开发:如何改善EditText的滚动体验?

8

有没有办法让我的EditText滚动更快?我想让它像Web浏览器一样平滑快速地滚动。这可能吗?

谢谢, Alex。


我非常需要得到答案,我正在提供250点声望作为可接受的有效回答的悬赏。 - Richard J. Ross III
你能详细解释一下情况吗? - Mark Mooibroek
3个回答

19

Webview使用平滑滚动。ScrollView也有这个属性。

  • 将文本视图添加到ScrollView中。
  • 为ScrollView创建一个ID,并在代码中创建引用。
  • 将EditText放置在此ScrollView内(使editText的大小为Wrap Content)。

使用以下方法启用平滑滚动:

public void setSmoothScrollingEnabled(boolean smoothScrollingEnabled)

使用下面的方法通过指定滚动边界来控制平滑滚动...

public final void smoothScrollBy (int dx, int dy)
//dx,dy.. offset (Relative Position)

public final void smoothScrollTo (int x, int y)
//scroll to x and y (actual position)

你也可以使用以下方法模拟过度滚动的行为:

public void setOverScrollMode (int mode)

此外,您可以使用以下方法添加 Fling 动作...

public void fling (int velocityY)

1
更好的描述当前和期望的行为会更好,但是您可以通过嵌入ScrollView来获得所需的行为。

0
您可以创建一个CustomEditText extends EditText类,重写onTouchonTouchEvent方法,并使用它们来检测手势,然后将内容向上或向下移动。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接