使用Webview实现app启动引导页
效果如下:
首先需要一个html页面及相应的js和css支持放在assets目录下(如果没有这个目录请项目上右键-new-folder-assets)
配置权限:
<uses-permission android:name="android.permission.INTERNET"/>
新建一个类:WebViewLoadHtml,代码如下:
package com.example.webviewnavigate; import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast; public class WebViewLoadHtml extends Activity {
private String url;
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将屏幕设置为全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//去掉标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.webview);
webView = (WebView)findViewById(R.id.wv_webview);
url = "file:///android_asset/index.html";
loadLocalHtml(url);
} @SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" })
public void loadLocalHtml(String url){
WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);//开启JavaScript支持
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//重写此方法,用于捕捉页面上的跳转链接
if ("http://start/".equals(url)){
//在html代码中的按钮跳转地址需要同此地址一致
Toast.makeText(getApplicationContext(), "开始体验", Toast.LENGTH_SHORT).show();
finish();
}
return true;
}
});
webView.loadUrl(url);
}
}
然后在MainActivity中调用如下:
package com.example.webviewnavigate; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View; public class MainActivity extends Activity {
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); intent = new Intent(this, WebViewLoadHtml.class);
startActivity(intent);
} public void onClickLoadHtml(View v){
intent = new Intent(this, WebViewLoadHtml.class);
startActivity(intent);
} }
新建一个空的view布局文件,名为webview,如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/wv_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
主页按需求设计:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="这是主页"
android:id="@+id/textView" />
</LinearLayout>
全部代码下载
使用Webview实现app启动引导页的更多相关文章
- HybridApp启动引导页的实现
有一种帅叫做长话短说,@孙红雷,--这可以叫做“短帅”吗,^_^ 首先说下思路,既然是Hybrid APP, 那就是可以用html的方式实现,启动引导页比较常见的展示方式是滑动,那么我们就可以使用图片 ...
- IOS 一句代码搞定启动引导页
前言引导页,一个酷炫的页面,自从微博用了之后一下就火起来了,对于现在来说一个app如果没有引导页似乎总显那么不接地气,那么为了让我们的app也“高大上”一次,我写了一个demo来实现启动引导页的实现, ...
- 安卓第一次启动引导页使用ViewPager实现
我们在安装某个APP的时候,基本都会有一个引导页的提示,他们可以打广告,或者介绍新功能的加入和使用说明等.一般都支持滑动并且下面有几个点,显示共有多少页和当前图片的位置,在IOS上这个实现起来比较简单 ...
- ionic之应用首次启动引导页
用户首次启动app先进入引导页,localstroge记录状态,下次启动应用不再显示引导页. HTML: <html> <head> <meta charset=&quo ...
- iOS开发笔记(Swift)-通用App安装引导页的实现
之前一直做的项目都是基于OC开发的,最近开始尝试使用Swift语言来重写整个项目. 本篇文章主要是讲述如何使用Swift来实现常见的通用App安装引导界面. 效果预览: 实现思路: 主要是采用了UIS ...
- app添加引导页
1.设置guide.html 2.登陆或者主页面引用guide.html mui.plusReady(function() { //读取本地存储,检查是否为首次启动 决定是否显示引导页 var sho ...
- 如何做好App的引导页?(转)
http://uedc.163.com/12264.html 当你第一次打开一款应用的时候常常会看到精美的引导页设计,它们在你未使用产品之前提前告知你产品的主要功能与特点,第一次印象的好坏会极大地影响 ...
- Android:启动引导页实现
前言 基本上现在所有的应用都会有一个欢迎界面,在欢迎界面对应用做一个整体的介绍,然后在跳入到主界面,这次要说的这个引导页就是带翻页的引导页.效果如下所示
- 自定义App首次启动引导页
代码如下 #import"ZBGuidePageView.h" @interfaceZBGuidePageView()<UIScrollViewDelegate> @p ...
随机推荐
- git 的使用
在github上注册一个账号,然后可以将自己写的小项目保存到里面,那么我们怎么将代码git到github上呢? 1. 在github上创建一个远程库learngit(*这个名字可以随便起) 2. 然后 ...
- MySQL找回管理员密码
更改MySQL提示符 mysql> prompt \u@mysql \r:\b:\s 查找以my开头的数据库 mysql> show databases like 'my%' 删除用户所有 ...
- 使用 lsyncd 本地目录实时备份
转自 https://segmentfault.com/a/1190000002737213 2.1安装lsyncd # rpm -ivh http://dl.fedoraproject.org/pu ...
- October 18th, Week 43rd Tuesday, 2016
Live as if you were to die tomorrow. 将每一天都当作人生的最后一天来活. If I were to die tomorrow, I may choose to en ...
- C/C++中无条件花括号的妙用
C/C++中无条件花括号可以形成一个代码块,一个作用域.可以使括号内定义的变量就只在本域(就是这个大括号)内有效,而且不会影响其他域,即使名字相同. 在花括号内,如果变量前面带类型,则相当于新创建一个 ...
- Fiddler响应post的请求 request body里面填写什么?
若是想传json格式的数据,请求头可以这样写:(应该先勾选 post,然后写上正确滴请求地址)User-Agent: Fiddler Host: localhost:1455 <span sty ...
- 【Java EE 学习 30】【闪回】【导入导出】【管理用户安全】【分布式数据库】【数据字典】【方案】
一.闪回 1.可能的误操作 (1)错误的删除了记录 (2)错误的删除了表 (3)查询历史记录 (4)撤销已经提交了的事务. 2.对应着以上四种类型的误操作,有四种闪回类型 (1)闪回表:将表回退到过去 ...
- module_init的加载和释放
转自:http://blog.csdn.net/dysh1985/article/details/7597105 像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件, ...
- 【SSM】Eclipse使用Maven创建Web项目+整合SSM框架
自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...
- iOS通知的使用
注册:[[NSNotificationCenter defaultCenter] postNotificationName:@"changeColor" object:self]; ...