Android本地HTML学习之旅:
1.本地HTML存放位置:
找到module名(默认为app)右键-->new-->Folder-->Assets Folder-->finish
新建的assets目录在src/main/目录下,与java和res同级目录
将本地HTML复制到assets目录即可
2、给span标签或者div标签设置了float属性后,需要在最后加一句<div class="clear"></div>
clear的样式为:.clear{clear:both;},清除浮动对后面布局的影响,否则会出现上面布局显示不全,下面布局错位的情况。
3、本地HTML获取数据并显示流程:
webview加载本地HTML:
webview = (WebView)findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/tpl_bid.html");
activity的页面通过接口获取数据后传给HTML页面:(数据类型为JSONObject)
tbsContent.loadUrl("javascript:jsRequest('" +MyAppApiConfig.borrowInfo.toString()+ "')");
angular.js:
$rootScope.jsRequestCache = [];
$rootScope.jsRequest = function(setObj)获取传过来的数据并解析:
case 'borrowInfo': //2.2.17
$rootScope['_borrowInfo'] = clone(params);
break;
HTML页面根据_borrowInfo里面的数据进行显示
4、<span class="project">
<div><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>预计回款时间</div>
<div>2017年10月26日</div>
</span>
<span class="project">
<div ><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>预计起息时间</div>
<div>2017年10月20日</div>
</span>
<span class="project">
<div><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>今日加入</div>
<div>2017年10月20日</div>
</span>
<div class="clear"></div>
.project{
width:33%;
text-align:center;
float:right;
}
5、<div class="content0">
<p>
<span ng-bind="hideMobile(tender.username)">借款标题20171101-1</span>
<span class="bond_two" ng-click="redirect('file:///android_asset/tpl_bid1.html',200,null)">查看详情</span>
</p>
<p>
<span ng-bind="hideMobile(tender.username)">12345678912</span>
<span class="bond_three_middle">7</span>
<span class="bond_three" ng-bind="hideMobile(tender.username)">2,000</span>
</p>
<p>
<span ng-bind="tender.is_auto==1 ? '自动投标' : '手动投标'">借款人</span>
<span class="bond_three_middle">借款期限</span>
<span class="bond_three" ng-bind="hideMobile(tender.username)">借款金额</span>
</p>
</div>
.bond_two{
float:right;
text-align:right;
display:block;
border:1px solid #000;
border-radius:10px;
padding-left:10px;
padding-right:10px;
}
.bond_three{
width:40%;
float:right;
}
.bond_three_middle{
width:20%;
float:right;
text-align:center;
}
6、angular js跳转:点击按钮跳转到另外一个网页
ng-click="redirect('file:///android_asset/tpl_bid1.html',200,null)"
redirect函数实现:
$rootScope.redirect = function(url,during,params){
if(typeof url != 'string'){
return;
}
params = params || null;
var paramsStr = '';
if(params!= null){
for(var i in params){
if(paramsStr=='')paramsStr += '?'+i+'='+params[i];
else paramsStr += '&'+i+'='+params[i];
}
}
if(typeof during == 'number' && during > 100){
setTimeout(function(){
window.location.href = url + paramsStr;
},during);
}else{
window.location.href = url + paramsStr;
}
};
1.本地HTML存放位置:
找到module名(默认为app)右键-->new-->Folder-->Assets Folder-->finish
新建的assets目录在src/main/目录下,与java和res同级目录
将本地HTML复制到assets目录即可
2、给span标签或者div标签设置了float属性后,需要在最后加一句<div class="clear"></div>
clear的样式为:.clear{clear:both;},清除浮动对后面布局的影响,否则会出现上面布局显示不全,下面布局错位的情况。
3、本地HTML获取数据并显示流程:
webview加载本地HTML:
webview = (WebView)findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/tpl_bid.html");
activity的页面通过接口获取数据后传给HTML页面:(数据类型为JSONObject)
tbsContent.loadUrl("javascript:jsRequest('" +MyAppApiConfig.borrowInfo.toString()+ "')");
angular.js:
$rootScope.jsRequestCache = [];
$rootScope.jsRequest = function(setObj)获取传过来的数据并解析:
case 'borrowInfo': //2.2.17
$rootScope['_borrowInfo'] = clone(params);
break;
HTML页面根据_borrowInfo里面的数据进行显示
4、<span class="project">
<div><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>预计回款时间</div>
<div>2017年10月26日</div>
</span>
<span class="project">
<div ><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>预计起息时间</div>
<div>2017年10月20日</div>
</span>
<span class="project">
<div><img src="image_risk_car.png" width="50px" height="50px"/></div>
<div>今日加入</div>
<div>2017年10月20日</div>
</span>
<div class="clear"></div>
.project{
width:33%;
text-align:center;
float:right;
}
5、<div class="content0">
<p>
<span ng-bind="hideMobile(tender.username)">借款标题20171101-1</span>
<span class="bond_two" ng-click="redirect('file:///android_asset/tpl_bid1.html',200,null)">查看详情</span>
</p>
<p>
<span ng-bind="hideMobile(tender.username)">12345678912</span>
<span class="bond_three_middle">7</span>
<span class="bond_three" ng-bind="hideMobile(tender.username)">2,000</span>
</p>
<p>
<span ng-bind="tender.is_auto==1 ? '自动投标' : '手动投标'">借款人</span>
<span class="bond_three_middle">借款期限</span>
<span class="bond_three" ng-bind="hideMobile(tender.username)">借款金额</span>
</p>
</div>
.bond_two{
float:right;
text-align:right;
display:block;
border:1px solid #000;
border-radius:10px;
padding-left:10px;
padding-right:10px;
}
.bond_three{
width:40%;
float:right;
}
.bond_three_middle{
width:20%;
float:right;
text-align:center;
}
6、angular js跳转:点击按钮跳转到另外一个网页
ng-click="redirect('file:///android_asset/tpl_bid1.html',200,null)"
redirect函数实现:
$rootScope.redirect = function(url,during,params){
if(typeof url != 'string'){
return;
}
params = params || null;
var paramsStr = '';
if(params!= null){
for(var i in params){
if(paramsStr=='')paramsStr += '?'+i+'='+params[i];
else paramsStr += '&'+i+'='+params[i];
}
}
if(typeof during == 'number' && during > 100){
setTimeout(function(){
window.location.href = url + paramsStr;
},during);
}else{
window.location.href = url + paramsStr;
}
};