package com.hy;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
/**
* 通过反射调用,修改webview的mInitialScaleInPercent初始值
* @author yang_hao
* 2012-5-9 15:01:49
*/
public class WebView_ChangeScaleValueActivity extends Activity implements OnClickListener{
private Button btn;
private WebView mWebView;
private WebSettings mWebSetting;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String url = "http://yueyang.2smtc.com/upload/user/20081223125326.jpg";
mWebView = (WebView)this.findViewById(R.id.webview);
btn = (Button)this.findViewById(R.id.btn);
mWebView.setBackgroundColor(Color.BLACK);
mWebView.setInitialScale(100);//设置缩放比例
mWebSetting = mWebView.getSettings();
mWebView.loadUrl(url);
btn.setOnClickListener(this);
}
public static void setScaleValue(View view){
Class classType;
Method method = null;
try {
classType = WebView.class;
;
for(Method item :classType.getDeclaredMethods()){
if(item.getName().equals("setNewZoomScale")){
method=item;
}
}
method.setAccessible(true);
////修改缩放比例1.0f为图片正常,
method.invoke(view, new Object[] {0.5f,true,true});
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
@Override
public void onClick(View v) {
if(btn==v){
setScaleValue(mWebView); //修改缩放比例
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
WebView在设置setInitialScale(....)后,是无法修改此放缩比例值的,因为此设置只有在webview的初始化时候加载一次,后边是无法修改的。看了下WebView的源码,修改此缩放比例值WebView内部是通过: private void setNewZoomScale(float scale, boolean updateTextWrapScale,boolean force) {} 方法修改的,没有其他办法修改此比例值。 那么我们只有通过反射机制调用此私有方法,来改变缩放比例值。 具体实现代码可下载附件
资源推荐
资源详情
资源评论
收起资源包目录
WebView_ChangeScaleValue.zip (25个子文件)
WebView_ChangeScaleValue
AndroidManifest.xml 807B
res
layout
main.xml 575B
drawable-ldpi
ic_launcher.png 2KB
drawable-mdpi
ic_launcher.png 3KB
drawable-hdpi
ic_launcher.png 4KB
values
strings.xml 214B
proguard.cfg 1KB
src
com
hy
WebView_ChangeScaleValueActivity.java 2KB
bin
classes
com
hy
R.class 447B
R$layout.class 358B
R$attr.class 304B
R$id.class 376B
R$string.class 391B
WebView_ChangeScaleValueActivity.class 3KB
R$drawable.class 371B
res
drawable-ldpi
ic_launcher.png 2KB
drawable-mdpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
WebView_ChangeScaleValue.apk 14KB
classes.dex 4KB
resources.ap_ 11KB
.classpath 364B
assets
project.properties 361B
.project 860B
gen
com
hy
R.java 780B
共 25 条
- 1
haoyang_2010
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页