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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
@Override
public 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>
分享到:
相关推荐
android webview 因iframe+target=“_blank “ 导致的页面无法正常打开或获取不到调整url
最近做项目过程中,遇到到webview 的各种奇葩问题,相信搞Android开发的也遇到不少webview的适配问题吧,但是前几天遇到webview加载一半的情况,我去,怎么会加载一半呢,太气人了,也没有报错,网上各种搜,但并...
Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...
Android WebView 去除标题 利用javacript交互
Android webview 播放视频、文字复制
Android Webview 滑动监听 放大缩小查看网页图片
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
Android WebView实现自由复制文字
Android下使用Webview实现的HTML5视频播放器,播放本地视频时请加载video目录下的1.html
android webview input=file 失效解决方案
android webView加载html 并引用本地资源(图片、字体库)
Android webview 加载网页以及本地资源以及SD资源demo,以及加载缓存资源
android webview html5 video autoplay
Android WebView播放视频开发中总结的一些经验,希望同大家分享,这个是相应的Demo,一些经验和注释都在代码中写到。
android webview拨打电话 关注博客http://himici.com
android webview模拟网页post操作
Android webview加载网页
这是一个大神的东西,我拿过来修改了一下,对android不同的版本进行了适配。如果那位大神看到了,觉得我侵权了,请联系我。