Android禁止WebView滚动的方法
来源:互联网 发布:deb文件安装到linux 编辑:程序博客网 时间:2024/05/29 16:01
在选择Web的输入框弹出键盘,这时WebView的高度改变重新渲染,如果html调整层级的位置使内容除输入框外不变,先将层级上移再移回原来位置时就会出现闪屏。经测试,有些手机会出现闪屏,有些不会。想到了禁止WebView滚动应该可以解决问题。
但是如何禁止WebView不可滚动呢?WebView有几个与滚动有关的方法,但是都无效。如:
WebView.setScrollContainer(false);
WebView.setVerticalScrollBarEnabled(false);
WebView.setHorizontalScrollBarEnabled(false);
后来看到WebView有个scrollTo(int x, int y)方法,于是重写该方法使其x,y都为0,结果头痛了几天的问题解决了,在此记录下来
public class WebViewMod extends WebView { public EditText mFocusDistraction; public Context mContext; public WebViewMod(Context context) { super(context); init(context); } public WebViewMod(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public WebViewMod(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context); } @SuppressLint("NewApi") public WebViewMod(Context context, AttributeSet attrs, int defStyle, boolean privateBrowsing) { super(context, attrs, defStyle, privateBrowsing); init(context); } public void init(Context context) { // This lets the layout editor display the view. if (isInEditMode()) return; mContext = context; mFocusDistraction = new EditText(context); mFocusDistraction.setBackgroundResource(android.R.color.transparent); this.addView(mFocusDistraction); mFocusDistraction.getLayoutParams().width = 1; mFocusDistraction.getLayoutParams().height = 1; } protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { invalidate(); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override public boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { return false; } /** * 使WebView不可滚动 * */ @Override public void scrollTo(int x, int y){ super.scrollTo(0,0); } }
0 0
- Android禁止WebView滚动的方法
- android 禁止webview滚动
- Android实现真正的禁止WebView滚动
- 禁止webview滚动
- 禁止webview滚动
- Android中的WebView禁止响应点击事件的方法
- Android中的WebView禁止响应点击事件的方法
- Android Gridview 禁止滚动的二种方法
- Android WebView的使用(禁止超链接调用其他浏览器 设置滚动条 禁止横竖屏切换重新加载网页 )
- 安卓webview禁止滚动
- android GridView禁止上下滑动以及禁止滚动条显示的方法。
- GridView禁止上下滚动的方法
- Android WebView 禁止输入
- Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
- Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
- Android:禁止ScrollView在子控件的布局改变时自动滚动的的方法
- Android - 禁止Gridview滚动
- Android - 禁止Gridview滚动
- HTML5 在cad领域中的研究
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
- GRE写作必备句型
- Hive:简单查询不启用Mapreduce job而启用Fetch task
- WAR包的目录结构
- Android禁止WebView滚动的方法
- VTK_Day_2_Light
- C# 创建Windows服务。服务功能:定时操作数据库
- Matlab优化问题05—fmincon
- leetcode-231 Power of Two
- 3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256大聚齐
- sass整理
- Gizmos画圆(原创)
- iOS之富文本