在上两篇文章 android项目案例2- 基于Android studio的android百度地图 , android项目案例1- 基于Android studio的仿微信底部导航栏实现 中介绍了相关的技术,需要的小伙伴可以查看,不懂得可以留言我。
今天来介绍一下 基于Android studio的android的fragment网页嵌套 说通俗一点就是在fragment中嵌入webView部件。
至于效果图如下:
相信大家一看图片就明白了,底部是fragment,fragment中嵌入了webView部件,实现点击底部图片时,跳转到网页中。
接下来进入正题——————》》》》》
1.首先设置UI界面布局。XML文件(在LinearLayout中添加WebView部件)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
2.Activity的实现。java文件
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.CWT.navigation.R;
public class TabFindFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//引入我们的布局
return inflater.inflate(R.layout.fragment_tab_find, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
final WebView browser= (WebView) getActivity().findViewById(R.id.webview);
WebSettings settings = browser.getSettings();
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setUseWideViewPort(true); //将图片调整到适合webview的大小
browser.getSettings().setLoadWithOverviewMode(true); // 缩放至屏幕的大小
browser.getSettings().setLoadsImagesAutomatically(true); //支持自动加载图片
browser.getSettings().setDefaultTextEncodingName("utf-8");//设置编码格式
// 如果页面中链接,如果希望点击链接继续在当前browser中响应,
// 而不是新开Android的系统browser中响应该链接,必须覆盖webview的WebViewClient对象
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{// 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
view.loadUrl(url);
return true;
}
});
browser.loadUrl("https://www.autohome.com.cn/beijing/");
}
}
实现的代码很简单,主要是函数onViewCreated中实例化WebView对象,接着对WebView对象进行属性设置,在函数.setWebViewClient中,WebView对象调用函数loadUrl("https://www.autohome.com.cn/beijing/")进行网页链接。
请各位大神指教,本博文内容可能写的有错误,有读者发现错误,可以留言我,希望本博文能够帮到大家。