中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

重磅推出TabLayout高級窗口組件

發布時間:2020-06-16 02:31:57 來源:網絡 閱讀:226 作者:羅那爾劉能 欄目:開發技術

TabLayout是在APICloud現有窗口系統基礎上升級而來的高級窗口組件,符合Material Design規范,可通過簡單的配置為窗口實現原生的導航欄和TabBar,它將幫助您節省30%以上的重復編碼工作量,同時為APP節省50%以上的系統資源開銷,帶來APP頁面打開速度、應用性能上的整體提升,助您更快速的開發精美APP。

使用tabLayout主要優點

1、減少代碼,提升開發效率
使用tabLayout只需要簡單配置參數即可實現首頁tabBar+frameGroup的整體布局,不用在window頁面中書寫header、footer標簽和css樣式來實現導航欄、標簽欄,同時也不用考慮適配狀態欄和虛擬home鍵。因此可以將更多時間花在具體業務的實現上面,從而提高開發效率。

2、加快打開頁面速度,提升應用性能
使用tabLayout來實現導航欄時,由于導航欄是原生實現的,那么只需要打開一個window頁面來實現內容頁,相較于之前window+frame的結構,減少了一個webView的開銷,因此大大提高了頁面打開速度,并且減少了應用的內存占用。

tabLayout相關的方法請參考API文檔,下面介紹tabLayout的基本使用:

◆◆實現導航欄navigationBar效果◆◆

tabLayout封裝了原生的導航欄,可以方便地實現頭部效果,導航欄會自動適配屏幕狀態欄和沉浸式。

實現的代碼只需要簡單的幾行:

function openNavWin(){
var param = {
name: 'nav',
url: './main_content.html',
bgColor: '#fff',
title: 'navigationBar',
navigationBar: {
rightButtons: [{
iconPath: "widget://image/more.png"
}]
}
}
api.openTabLayout(param);
}

對于導航欄上面按鈕的點擊事件,則可以在打開的頁面中通過監聽事件進行處理:

function apiready(){
api.addEventListener({
name: 'navbackbtn'
}, function(ret, err) {
alert('點擊了返回按鈕');
api.closeWin();
});

api.addEventListener({
    name: 'navitembtn'
}, function(ret, err) {
    if (ret.type == 'right') {
        alert('點擊了右邊按鈕');
    }
});

}

◆◆實現tabBar效果◆◆

tabLayout將tabBar控件和frameGroup結合到了一起,tabLayout會自動管理tabBar項和對應的頁面,同時tabBar會自動適配底部虛擬home鍵。

實現的代碼如下:

function openNavTabWin(){
var param = {
name: 'nav-tab',
title:'nav-tab',
bgColor:'#fff',
slidBackEnabled: false,
navigationBar: {
hideBackButton: true
},
tabBar: {
animated: true,
list: [
{
text: "微信",
iconPath: "widget://image/nav_tab_1.png",
selectedIconPath: "widget://image/nav_tab_1_on.png"
}, {
text: "通訊錄",
iconPath: "widget://image/nav_tab_2.png",
selectedIconPath: "widget://image/nav_tab_2_on.png"
}, {
text: "發現",
iconPath: "widget://image/nav_tab_3.png",
selectedIconPath: "widget://image/nav_tab_3_on.png"
}, {
text: "我",
iconPath: "widget://image/nav_tab_4.png",
selectedIconPath: "widget://image/nav_tab_4_on.png"
}
],
frames: [
{
title: "微信",
name: "tab_frm_1",
url: "widget://html/tab_content_1.html"
}, {
title: "通訊錄",
name: "tab_frm_2",
url: "widget://html/tab_content_2.html"
}, {
title: "發現",
name: "tab_frm_3",
url: "widget://html/tab_content_3.html"
}, {
title: "我",
name: "tab_frm_4",
url: "widget://html/tab_content_4.html"
}
]
}
}
api.openTabLayout(param);
}

如果需要在點擊tabBar項后做其它的處理,可以監聽tabitembtn事件進行處理,監聽點擊事件后tabBar將不會自動切換頁面,需要調用setTabBarAttr方法進行切換。

function apiready(){
api.addEventListener({
name:'tabitembtn'
}, function(ret) {
console.log('點擊了第'+(ret.index+1)+'項');
api.setTabBarAttr({
index: ret.index
});
});
}

打開tabBar后,可以為tabBar上面的各項設置角標,如:

function setTabBarItemDot(){
api.setTabBarItemAttr({
index: 2,
badge: {
text: '',
radius: 5,
x: 8
}
});
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河源市| 三都| 马边| 额济纳旗| 长子县| 元氏县| 宁强县| 东莞市| 武功县| 萍乡市| 克拉玛依市| 黔江区| 武山县| 沈丘县| 绥阳县| 铜山县| 三原县| 共和县| 涿州市| 航空| 蚌埠市| 抚远县| 湖州市| 丹凤县| 巴楚县| 大竹县| 信宜市| 莱西市| 九江市| 巩留县| 阳谷县| 辉南县| 调兵山市| 镇宁| 德州市| 宁都县| 贵南县| 石门县| 游戏| 信丰县| 江孜县|