簡體   English   中英

如何在appcelerator Titanium中創建滑動菜單?

[英]How do I create a sliding menu in appcelerator titanium?

我想制作一個從左側打開的菜單,在頂部具有一個圖像,然后有幾個部分分別重定向到頁面。 我已經在網上搜索過,有的發布了github鏈接,當我去那里時,我凍結了。 不知道我該怎么辦? 我應該安裝東西嗎? 那是示例代碼嗎? 將不勝感激。

您必須為此使用第三方模塊,它們在市場上是有的。 我將舉一個我使用的示例,否則您可以使用Titanium中的關鍵工作Drawer搜索其他示例。

對於Android: https : //github.com/viezel/NappDrawer/tree/master/android

var homeScreen = Alloy.createController("homeScreen").getView();

var NappDrawerModule = require('dk.napp.drawer');
Alloy.Globals.drawer = NappDrawerModule.createDrawer({
    fullscreen : false,
    leftWindow : Alloy.createController('leftMenu').getView(),
    centerWindow : homeScreen,
    fading : 0.2, // 0-1
    parallaxAmount : 0.2, //0-1
    exitOnClose : true,
    shadowWidth : "5dp",
    leftDrawerWidth : "280dp",
    animationMode : NappDrawerModule.ANIMATION_NONE,
    closeDrawerGestureMode : NappDrawerModule.CLOSE_MODE_NONE,
    openDrawerGestureMode : NappDrawerModule.OPEN_MODE_NONE,
    orientationModes : [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT]
});

Alloy.Globals.drawer.addEventListener("didChangeOffset", function(e) {
    //Ti.API.info("didChangeOffset: " + e.offset);
});
Alloy.Globals.drawer.addEventListener("android:back", function(e) {
    Ti.API.info('currentWindow : ' + Alloy.Globals.currentWindow);
    if (Alloy.Globals.currentWindow != null) {
        return;
    }
});

Alloy.Globals.drawer.addEventListener("windowDidOpen", function(e) {

    if (e.window == NappDrawerModule.LEFT_WINDOW) {
        Ti.API.info("windowDidOpen - LEFT DRAWER");
    } else if (e.window == NappDrawerModule.RIGHT_WINDOW) {
        Ti.API.info("windowDidOpen - RIGHT DRAWER");
    }

});

Alloy.Globals.drawer.addEventListener("open", function(e) {
        Ti.API.info('Drawer Open');
});

Alloy.Globals.drawer.addEventListener("windowDidClose", function(e) {
    Ti.API.info("windowDidClose");
});

// lets open it
Alloy.Globals.drawer.open();

對於iOS: https : //github.com/viezel/NappSlideMenu

Alloy.Globals.SlideWindow = Alloy.createController("leftMenu");
var homeWindow = Alloy.createController("homeScreen").getView();

var NappSlideMenu = require('dk.napp.slidemenu');

var window = NappSlideMenu.createSlideMenuWindow({
    centerWindow : homeWindow,
    leftWindow : Alloy.Globals.SlideWindow.getView(),
    leftLedge : (Alloy.Globals.iPad) ? 170 : 70,
    parallaxAmount : 0.2,
});

Alloy.Globals.window = window;

window.addEventListener("viewWillOpen", function(e) {
});

window.addEventListener("viewWillClose", function(e) {
});

exports.openLeft = function() {
    window.toggleLeftView();
};

exports.openRight = function() {
    window.toggleRightView();
};

window.open();

注意: android的leftMenuhomeScreen是一個View ,而iOS的是一個Window

祝你好運,干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM