展会信息港展会大全

获取WebView缩放控件,并对其进行改造 android开发
来源:互联网   发布日期:2015-10-02 21:19:18   浏览:2844次  

导读:今日遇一需求,要求在WebView的缩放空间中加入一个按钮用以实现全屏功能,结合网上查找的资料,实现了这个功能,共享出来。改造缩放控件的函数:/**改造缩放控件 * @param view 显示缩放控件的WebVi......

今日遇一需求,要求在WebView的缩放空间中加入一个按钮用以实现全屏功能,结合网上查找的资料,实现了这个功能,共享出来。

改造缩放控件的函数:

/**改造缩放控件

* @param view 显示缩放控件的WebView对象*/

public void resetZoomControl(View view){

Class classType;

Field field;

try {

classType = WebView.class;

field = classType.getDeclaredField("mZoomButtonsController");

field.setAccessible(true);

//获取到控制ZoomControls的控制器

ZoomButtonsController mZoomButtonsController = new ZoomButtonsController(view);

//获取ZoomControls

ZoomControls zoomControls = (ZoomControls) mZoomButtonsController.getZoomControls();

//改变ZoomControl的样式

zoomControls.removeAllViews();

((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.zoom_controls, zoomControls, true);

try {

field.set(view, mZoomButtonsController);

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

} catch (SecurityException e) {

e.printStackTrace();

} catch (NoSuchFieldException e) {

e.printStackTrace();

}

}

对应的新的布局文件zoom_controls.xml文件:

<?xml version="1.0" encoding="utf-8"?>

<merge xmlns:android="http://schemas.android.com/apk/res/android" >

<ZoomButton

android:id="@+id/zoomOut"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/btn_zoom_down"

android:onClick="zoomOut" />

<ImageView

android:id="@+id/fullScreen"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/btn_zoom_up"

android:onClick="fullScreen" />

<ZoomButton

android:id="@+id/zoomIn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/btn_zoom_up"

android:onClick="zoomIn" />

</merge>

然后分别对缩放控件中的各个按钮绑定监听其就可以了!

赞助本站

人工智能实验室

相关热词: WebView 缩放

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港