需求:在mainactivity中放入两个Fragment 其中一个是webview 的展示,支持两个Fragment切换
一、下载Dcloud SDK
地址:http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/80
安卓的原生manactivity 和fragmeent 我就不在写了
二、:
导入 jar文件 并添加依赖,文件在 sdk中的libs文件夹中
需要导入的有
gallery.jar
my-imageloader.jar
nativeui.jar
nineoldandroids-2.4.0.jar
pdr.jar
ui.jar
三、再其中一个fragment的文件中开始初始化 并展示
1.重写 oncreat 方法:创建 rootview 用来添加 webview;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("ceshi","fragment.....1"); rootView = new FrameLayout(getActivity()); }2.编写 class监听类实现 ICore.IcoreStatuListen
class WebviewModeListener implements ICore.ICoreStatusListener { LinearLayout btns = null; Activity activity = null; ViewGroup mRootView = null; IWebview webview = null; ProgressDialog pd = null; public WebviewModeListener(Activity activity, ViewGroup rootView) { this.activity = activity; mRootView = rootView; btns = new LinearLayout(activity); mRootView.setBackgroundColor(0xffffffff); mRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { webview.onRootViewGlobalLayout(mRootView); } }); } /** * 5+内核初始化完成时触发 * */ @Override public void onCoreInitEnd(ICore coreHandler) { // 设置单页面集成的appid String appid = "TestAppid"; // 单页面集成时要加载页面的路径,可以是本地文件路径也可以是网络路径 String url = "file:///android_asset/ceshi.html";//本地文件路径 webview = SDK.createWebview(activity, url, appid, new IWebviewStateListener() { @Override public Object onCallBack(int pType, Object pArgs) { switch (pType) { case IWebviewStateListener.ON_WEBVIEW_READY: Log.i("ceshi","执行此方法+onCallback"); // 准备完毕之后添加webview到显示父View中,设置排版不显示状态,避免显示webview时,html内容排版错乱问题 ((IWebview) pArgs).obtainFrameView().obtainMainView().setVisibility(View.INVISIBLE); SDK.attach(mRootView, ((IWebview) pArgs)); break; case IWebviewStateListener.ON_PAGE_STARTED: Log.i("ceshi","执行此方法+onCallback"); // 首页面开始加载事件 break; case IWebviewStateListener.ON_PROGRESS_CHANGED: Log.i("ceshi","执行此方法+onCallback");