WebView 打开带Frameset Tag的Html文件时,经常显示不全,只显示最后一个页面。

需要简单设置之后就可以了


覆盖shouldOverrideUrlLoading, 并返回false;

mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

return false;// false 显示frameset, true 不显示Frameset

}
}


全部代码如下:

package cn.hpc.cai.webview;import android.os.Bundle;import android.app.Activity;import android.graphics.Bitmap;import android.view.Menu;import android.view.View;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}private WebView mWebView;  private void init(){          mWebView = (WebView)findViewById(R.id.web_view);          mWebView.setWebViewClient(new WebViewClient() {              @Override              public boolean shouldOverrideUrlLoading(WebView view, String url) {                  Toast.makeText(MainActivity.this, "shouldOverrideUrlLoading " + url, Toast.LENGTH_SHORT).show();                 return false;// false 显示frameset, true 不显示Frameset            }              @Override              public void onPageStarted(WebView view, String url, Bitmap favicon) {                  //有页面跳转时被回调              }              @Override              public void onPageFinished(WebView view, String url) {                  //页面跳转结束后被回调              }              @Override              public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {                  Toast.makeText(MainActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();              }          });  //String url = "<html><frameset cols=\"25%,25%\" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0><frame src=\"file:///sdcard/demo.html"//+ "\" /><frame src=\"file:///sdcard/left.htm\" /> </frameset></html>";////mWebView.loadDataWithBaseURL("", url, "text/html", "utf-8", "");        mWebView.loadUrl("file:///sdcard/frameset.htm");}}

布局文件:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="@string/hello_world" />    <WebView        android:id="@+id/web_view"        android:layout_width="fill_parent"        android:layout_height="fill_parent" /></LinearLayout>




更多相关文章

  1. Android(安卓)对话框【Dialog】去除白色边框代码
  2. Android(安卓)Build 系统
  3. Android(安卓)Studio3.4.2配置NDK
  4. eclipse上Android(安卓)NDK开发环境搭建
  5. android 应用如何获取系统权限 以及root系统方法
  6. Android中实现下载和解压zip文件功能代码分享
  7. Android分辨率自适应
  8. ionic打包apk时报错No resource identifier found for attribute
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android工程师不得不看的建议
  2. 用DownLoadManage封装一个App的更新组件(
  3. android实现屏幕滑动(类似主屏滑动第一屏
  4. cocos2d-x for android:CCSprite 精灵动画
  5. Android隐喻(三) 图形绘制: Canvas、Surfa
  6. android的照相图片压缩
  7. Android(安卓)OpenGLES2.0(七)——着色器语
  8. 键盘按下和抬起事件(keydown,keyup)——原创
  9. android自定义button样式【转】
  10. Android拼图游戏的设计逻辑,从切图到交互