Android WebView 文本框获取焦点后自动放大的解决方案
2012-08-09 16:28
567 查看
之所以出现这种情况,主要是当文本框获取到焦点后,键盘自动弹出,会执行WebView的displaySoftKeyboard
方法,这个方法会把缩小的网页恢复到正常情况(也就是说缩小的网页放大),但是我目前的项目都是不允许页面缩放的,所以一旦页面放大后就无法恢复。
webview.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
{
try {
Field defaultScale = WebView.class.getDeclaredField("mDefaultScale");
defaultScale.setAccessible(true);
//WebViewSettingUtil.getInitScaleValue(VideoNavigationActivity.this, false )/100.0f 是我的程序的一个方法,可以用float 的scale替代
defaultScale.setFloat(webview, 1);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
}
});
利用java反射机制,setFloat方法比例我设置为1,就是保持不变。。
方法,这个方法会把缩小的网页恢复到正常情况(也就是说缩小的网页放大),但是我目前的项目都是不允许页面缩放的,所以一旦页面放大后就无法恢复。
webview.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
{
try {
Field defaultScale = WebView.class.getDeclaredField("mDefaultScale");
defaultScale.setAccessible(true);
//WebViewSettingUtil.getInitScaleValue(VideoNavigationActivity.this, false )/100.0f 是我的程序的一个方法,可以用float 的scale替代
defaultScale.setFloat(webview, 1);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
}
});
利用java反射机制,setFloat方法比例我设置为1,就是保持不变。。
相关文章推荐
- 完美解决 Android WebView 文本框获取焦点后自动放大问题
- (转)完美解决 Android WebView 文本框获取焦点后自动放大有关问题
- Android WebView 文本框获取焦点后自动放大有关问题
- 解决 Android WebView 文本框获取焦点后自动放大问题
- android webview input控件获取焦点放大的问题
- webview 中的文本框无法获取焦点弹出文本框
- Android中如何自定义我们想要的控件(以可以自动获取焦点的TextView为例)
- 【Android】Android WebView 网页输入框获取焦点
- android中webview接收favicon总是获取为null解决方案
- android webview快速获取页面上的图片
- android 5.0之后原生webview同时用https和http加载HTML不加载图片解决方案
- Android 获取WebView页面中<a>标签中的target=“_blank”属性
- android开发之 包含EditText组件 禁止自动获取焦点弹出输入法
- android webview 点击文本框弹出数字键盘
- webview中html页面点击文本框整个页面放大
- Android AutoCompleteTextView自动提示文本框实例代码
- Android 浏览网页:WebView 嵌入浏览器(浏览历史返回、自定义加载失败界面、支持缩放、获取标题栏)
- Android 如何让EditText不自动获取焦点
- JQuery下focus()无法自动获取焦点的处理方法 jquery如何使文本框获得焦点
- Android: 在WebView中获取网页源码