在android SDK版本11以前(也就是Android3.0以前),webvie是不可以隐藏缩放控件的,现在我们通过反射来隐藏该控件。
重写WebView:
import java.lang.reflect.Method;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.webkit.WebView;
import android.widget.ZoomButtonsController;
/**
* 去掉webview当中放大缩小控件,并且保留效果
*/
public class SupportZoomWebView extends WebView {
// Webview内部的按钮控制对象
private ZoomButtonsController zoomController = null;
public SupportZoomWebView(Context context) {
super(context);
// TODO Auto-generated constructor stub
disableZoomController();
}
public SupportZoomWebView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
disableZoomController();
}
public SupportZoomWebView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
disableZoomController();
}
// 使得控制按钮不可用
@SuppressLint("NewApi")
private void disableZoomController() {
// API version 大于11的时候,SDK提供了屏蔽缩放按钮的方法
if (android.os.Build.VERSION.SDK_INT >= 11) {
this.getSettings().setBuiltInZoomControls(true);
this.getSettings().setDisplayZoomControls(false);
} else {
// 如果是11- 的版本使用JAVA中的映射的办法
getControlls();
}
}
private void getControlls() {
try {
Class webview = Class.forName("android.webkit.WebView");
Method method = webview.getMethod("getZoomButtonsController");
zoomController = (ZoomButtonsController) method.invoke(this, null);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
super.onTouchEvent(ev);
if (zoomController != null) {
// 隐藏按钮
zoomController.setVisible(false);
}
return true;
}
}
分享到:
相关推荐
我们在浏览网页时,网页的文本可以放大缩小,android两点手势,两点距离靠近时缩小,两点距离...那么若果不用android的WebView控件,单纯的TextView能否做到放大缩小呢,其实也是可以的。只要响应和处理手势事件即可。
WebView设置setBuiltInZoomControls(true)后,隐藏缩放按钮的控件在webView的源码里是通过: private ZoomButtonsController mZoomButtonsController; 这个私有控件控制的,而且也没有public方法可以获得此...
### Android中的WebView控件详解 #### 一、概述 WebView是Android系统提供的一个重要的控件,主要用于在应用程序中展示Web内容。它不仅能够加载并显示HTML文档,还支持JavaScript脚本执行,允许开发者通过Java与...
在Android开发中,创建一个简单的图片放大缩小程序是一项常见的任务,尤其在涉及到用户交互和图像展示的场景。本文将深入探讨如何实现这一功能,并结合标签中的"调用系统图片"、"放大缩小"以及"webView"的相关知识...
【WebView控件在Android中的应用】 在Android开发中,WebView控件是一个非常实用的组件,它允许我们在应用程序内部展示网页内容,甚至执行一些JavaScript代码,从而实现与网页的交互。在标题和描述中提到的...
在Android开发中,控件是构建用户界面的基本元素,它们为用户提供交互操作的方式。这篇教程主要涵盖了九种常见的Android控件及其使用示例,包括ZoomControls、Include、VideoView、WebView、RatingBar、Tab、Spinner...
1、在加载网页的时候,顶部有一个进度条,显示当前加载进度;...2、设置了所有的页面都在该控件中显示,不调用其他的浏览器; 3、支持手势放大缩小; 4、支持双击屏幕放大缩小; 5、按后退按钮,回到上一个网页;
这可以通过重写WebView的触摸事件处理来实现,使用户能够自由放大和缩小网页中的图片。 3. **图片下载功能**:项目实现了网页中图片的下载功能,可能使用了`WebSettings`的`setDownloadListener()`方法,注册一个...
它可以被视为一种轻量级的浏览器,允许开发者在应用程序内部嵌入网页,并提供一系列功能,如网页前后导航、放大缩小、文本搜索等。`WebView`使用WebKit渲染引擎来解析并显示网页。 #### 权限配置 为了使应用能够...
在Android开发中,WebView是用于展示网页内容的重要组件,它允许开发者在应用内加载HTML、CSS和JavaScript等Web资源。然而,在使用WebView的`loadData()`方法加载自定义数据时,有时会出现乱码问题,这通常是由于...
在`WebActivity`这个例子中,它被用来加载和控制网页内容的放大缩小功能。下面我们将深入探讨AsyncTask以及如何在Android中实现网页内容的缩放。 首先,AsyncTask包含三个泛型参数,分别代表输入类型(Params)、...
26. **ImageView手势识别**:通过手势控制图片的放大、缩小、旋转等。 27. **SlidingPaneLayout**:左右滑动的面板布局。 28. **PagerAdapter**:用于创建滑动页面的适配器。 29. **NestedScrollView**:在...
里面内容包括,Rxjava,Retroft,,Picasso,WebView预览图片,图片预览放大、 缩小、移动,Material Design控件使用和activity切换动画等. 目前代码结构还不是很好,以后会慢慢重构.有新的技术也会不断往项目里面添加. ...
增加图片放大、缩小手势 支持图片下载、分享 欢迎界面 侧边栏 下拉刷新 释放刷新 正在刷新 加载更多 图片 图片 图片 all webview webview2 openbrowser 依赖库 compile '...
(超高仿)今日头条 客户端源码最终版 完美实现了获取数据,页面... 实现:图片浏览和通过手势放大缩小 7.GestureDetector手势类及OnGestureListener手势监听类的使用 实现:新闻详情页面根据手势滑动来关闭该页面
4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON...
4.23 动态放大缩小ImageView里的图片 4.24 动态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索 ...
第 7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 ...8.2 2网页的放大与缩小