前 言
博主最近在接觸移動(dòng)APP,學(xué)習(xí)了幾個(gè)小技巧,和大家分享一下。
1. 狀態(tài)欄設(shè)置
現(xiàn)在打開(kāi)絕大多數(shù)APP,狀態(tài)欄都是與APP一體,不僅美觀,而且與整體協(xié)調(diào)。
博主是個(gè)中度強(qiáng)迫癥患者,頂部那個(gè)小黑條實(shí)在讓我不舒服。
首先,我們?cè)贖Builder上新建一個(gè)移動(dòng)APP項(xiàng)目
1.1沉浸式狀態(tài)欄(狀態(tài)欄透明)
一般整個(gè)頁(yè)面是圖片時(shí),會(huì)使?fàn)顟B(tài)欄透明。
首先,檢測(cè)當(dāng)前環(huán)境是否支持沉浸式狀態(tài)欄。檢測(cè)語(yǔ)句:
<script type="text/javascript"> document.addEventListener('plusready', function(){ //是否支持沉浸式狀態(tài)欄 alert(plus.navigator.isImmersedStatusbar()); });</script>
默認(rèn)是不支持的,會(huì)彈出false。想讓環(huán)境支持,需要修改項(xiàng)目下的配置文件manifest.json
在項(xiàng)目下有個(gè)manifest.json文件,打開(kāi)后,打開(kāi)代碼視圖:
在代碼視圖"plus"下添加
"statusbar": { "immersed": true },
如圖所示:
修改完成后,會(huì)彈出true,效果如下:
終端支持:
1.2狀態(tài)欄全屏
狀態(tài)欄全屏是沒(méi)有狀態(tài)欄,不顯示電量、信號(hào)那一條。
這個(gè)效果是在JS文件中加入語(yǔ)句:
<script type="text/javascript"> document.addEventListener('plusready', function(){ //參數(shù):true - 全屏;false - 不全屏 plus.navigator.setFullscreen(true); });</script>
效果如下:
1.3狀態(tài)欄背景色
修改背景色一般用于頁(yè)面頂部背景色為純色的場(chǎng)景,修改成和頁(yè)面一致的背景色,使頁(yè)面更和諧。
//設(shè)置系統(tǒng)狀態(tài)欄背景色plus.navigator.setStatusBarBackground('#6495ED');
Android平臺(tái)不支持此功能,如有大神,請(qǐng)多多指點(diǎn)。
2. 毛玻璃效果
圖片模糊化可以給人朦朧美的效果。點(diǎn)一下以前沒(méi)提到的圖片模糊效果:
css屬性filter:
filter: blur(16px);
blur()中的像素是模糊程度。
3. 簡(jiǎn)單使用mui快速搭建頁(yè)面
前面最困擾我的狀態(tài)欄問(wèn)題解決了,頁(yè)面布局就好辦了。用mui模板可以快速搭建出來(lái)。
以XX音樂(lè)為例:
2.1導(dǎo)入文件
<script src="js/mui.min.js"></script> <link href="css/mui.min.css" rel="external nofollow" rel="stylesheet"/> <link rel="stylesheet" href="css/bofang.css" rel="external nofollow" />
2.2HTML代碼
下面HTML代碼為使用的mui框架部分和上述狀態(tài)欄相關(guān)部分,這塊mui是關(guān)于區(qū)域輪播部分
頂部img是背景圖,外層包裹的div非常有必要,overflow屬性要活用,才能有完美的效果。
因?yàn)锳PP的header部分用的定位,所以頁(yè)面主體部分要加高度為74px左右的padding-top
<div class="mui-slider"> <div class="mui-slider-group"> <div class="mui-slider-item"> 第一個(gè)輪播區(qū)域 </div> <div class="mui-slider-item"> <p class="singer"> <span class="ce"></span> <span class="mui-text-center">G-DRAGON</span> <span class="ce"></span> </p> <p class="yinxiao"> <img src="img/player_btn_sq_hlight.png"/> <img src="img/player_btn_mv_normal.png"/> <img src="img/player_btn_dts_on.png"/> </p> <div class="datu"> <img src="img/GD.jpg"/> </div> <p class="geci">A Boy - G-DRAGON</p> </div> <div class="mui-slider-item"> 第二個(gè)輪播區(qū)域 </div> </div> <div class="mui-slider-indicator"> <div class="mui-indicator"></div> <div class="mui-indicator mui-active"></div> <div class="mui-indicator"></div> </div> </div>
主要css代碼:
*{ padding: 0px; margin: 0px;}body{ overflow: hidden; height: 100vh;}#background{ overflow: hidden; text-align: right;}#background #backImg{ margin-left: -120px; height: 99vh; filter: blur(16px);}.mui-bar-nav{ top: 30px; background-color: rgba(0,0,0,0); box-shadow: 0 0px 0px #ccc;}.mui-bar-nav .mui-title{ color: white; font-size: 20px; font-weight: normal; line-height: 50px;}#continer{ width: 100%; height: 100vh; position: relative; top: -100vh; z-index: 5; padding-top: 80px; background-color: rgba(0,0,0,0.7); text-align: center; color: white;}
后面不一樣大小的圖片居中對(duì)齊這一點(diǎn)還一時(shí)沒(méi)想起來(lái)。這里就要用到彈性布局的交叉軸對(duì)齊方式:
#continer .footer1{ margin-bottom: 0px; display: flex; align-items: center; justify-content: center;}
顯示下效果:
小q有話(huà)說(shuō)
博主寫(xiě)博客也是想提高自己,還請(qǐng)大神指教。
另外,框架確實(shí)好用,但是博主覺(jué)得,還是得把原生代碼先掌握好。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注