AYM*_*ADA 5 android horizontalscrollview
如何在Android 2.2下禁用HorizontalScrollView上的过度滚动?
我用反射做这个:
HorizontalScrollView hh = (HorizontalScrollView) findViewById(R.id.chartHorizontalView);
viewCls = hh.getClass();
try {
Method m = viewCls.getMethod("setOverScrollMode",
new Class[] { int.class });
int OVER_SCROLL_NEVER = (Integer) viewCls.getField(
"OVER_SCROLL_NEVER").get(hh);
m.invoke(hh, OVER_SCROLL_NEVER);
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
小智 7
它在文档中是正确的,调用setOverScrollMode
有库存的AOSP 直到Gingerbread都没有过度滚动效应,所以如何禁用它们的问题毫无意义.一些制造商增加了他们自己的过度滚动效果,例如TouchWiz弹跳效果.显然,由于效果不是SDK的一部分,因此SDK中没有禁用它们的方法!
在撰写本文时,Froyo及其下方约占2%.在我看来,明智的做法是针对sdk版本> = 9并使用类似的东西
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
horizontalScrollView.setOverScrollMode(View.OVER_SCROLL_NEVER);
}
Run Code Online (Sandbox Code Playgroud)
这样大多数用户都不会看到发光过度滚动效果,但使用TouchWiz运行Froyo的2%或更少用户仍会看到反弹效果.如果你 真的,绝对必须禁用所有过卷效果你可以使用onScrollListener来防止滚动开头或结束或使用反射来处理TouchWiz特别类似于这个例子或这个
| 归档时间: |
|
| 查看次数: |
1722 次 |
| 最近记录: |