该项目设计到以下内容:
1、自定义标题栏
2、Java和JavaScript的互调
3、Activity实现仿Dialog样式
4、多线程实现考试倒计时
5、退出Activity时保存配置信息
6、熟悉UI布局
下面通过代码一步一步来解析:首先是准备asset中的本地html文件。
java代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body οnlοad="window.JsUseJave.onLoad()">Write a recount for your newsletter using the notes given _____
<a onClick='setIv("/sdcard/IMG001.png")' >
<img id="ig"/>
</a>
<script language="javascript">function load(src){
document.getElementById('ig').src=src;
}
function setIv(src){
window.JsUseJave.setImgSrc(src)
}
</script>
</body>
</html>
1、最开始的时候是想在进入Activity的时候就自动加载图片
java代码:
wv.loadUrl("javascript:load('"+imgSrc+"'");
但是发现一个问题在body的onload()中直接调用js:load(src)方法并没有执行。没办法只能用通过点击按钮给图片加载资源。后来突然想到可以JavaScript和Java互调,就把这一步添加到JavaScriptInterface类中,这个类要自己定义。
java代码:
final class JsUseJaveInterface{
public void setImgSrc(String imgSrc){
Intent intent =new Intent(E6.this,ImageShow.class);
Bundle bundle=new Bundle();
bundle.putString("imgSrc", imgSrc);
intent.putExtras(bundle);
startActivity(intent);
}
//登录加载图片
public void onLoad(){
wv.loadUrl("javascript:load('"+src+"')");
}
}
设置JavaScript可调用Java
java代码:
wv.addJavascriptInterface(new JsUseJaveInterface(), "JsUseJave");
在html文件body的onload事件中通过java转一步调用javascript方法中的load(src)事件。这样就能在加载Activity的时候将缩略图同时显示出来了。
更多信息请访问:http://www.orietech.com