作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法在 API 11 上使用类似于“View.canScrollVertically”的东西?
http://developer.android.com/reference/android/view/View.html#canScrollVertically(int)
谢谢。
最佳答案
所以,实现很简单:
public boolean canScrollVertically(int direction) {
final int offset = computeVerticalScrollOffset();
final int range = computeVerticalScrollRange() - computeVerticalScrollExtent();
if (range == 0) return false;
if (direction < 0) {
return offset > 0;
} else {
return offset < range - 1;
}
}
因此您可以轻松地将其复制到您的代码中;但是,computeX()
方法受到保护。这里的一种解决方案是子类化 View
并提供您自己的实现:
public class CustomView extends View {
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public boolean compatCanScrollVertically(int direction) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
return canScrollVertically(direction);
} else {
// TODO Remove when minSdkVersion >= 14
final int offset = computeVerticalScrollOffset();
final int range = computeVerticalScrollRange() - computeVerticalScrollExtent();
if (range == 0) return false;
if (direction < 0) {
return offset > 0;
} else {
return offset < range - 1;
}
}
}
}
关于android - API 11 上的 View.canScrollVertically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29504293/
我正在尝试在我的应用程序中包含一个 SwipeRefreshLayout。它可以工作,但是当我关闭我的 WIFI 时(我的应用程序使用它,如果没有 wifi,我想包括警报)。任何人有任何建议为什么我得
有没有办法在 API 11 上使用类似于“View.canScrollVertically”的东西? http://developer.android.com/reference/android/vi
如何解决我尝试使用RecyclerView时出现的问题。当我添加 2 行代码 recyclerView = (RecyclerView) findViewById(R.id.movies_recycl
我是一名优秀的程序员,十分优秀!