public class ExtendedWebView extends WebView {
public ExtendedWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean canScrollHorizontally(int direction) {
final int offset = computeHorizontalScrollOffset () ;
final int range = computeHorizontalScrollRange () - computeHorizontalScrollExtent() ;
if ( range == 0 ) return false ;
else return ( direction < 0 ) ? ( offset > 0 ) : ( offset < range - 1 ) ;
}
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
WebView view = (ExtendedWebView) v.findViewById (R.id.nomal_link_web); //res ID
if ( view != null ) {
return view.canScrollHorizontally ( -dx ) ;
} else {
return super.canScroll ( v, checkV, dx, x, y ) ;
}
}
本文介绍了一个自定义 ExtendedWebView 控件的实现方法,该控件继承自 WebView,并重写了 canScrollHorizontally 方法来控制水平方向上的滚动行为。通过计算偏移量和滚动范围,实现了对 WebView 水平滚动状态的有效判断。
1711

被折叠的 条评论
为什么被折叠?



