如何在appcelerator钛中创建滑动菜单?

时间:2017-03-16 08:47:43

标签: menu titanium appcelerator drawer

我想制作一个从左侧打开的菜单,顶部有一个图像,然后是几个重定向到每个页面的部分。我在网上搜索,有些发布了github链接,当我去那里时,我冻结了。不知道我不应该做什么?我应该安装什么吗?这是一个示例代码吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你必须使用第三方模块,它们是市场上的一些。我将举例说明我使用的那个,否则你可以搜索其他一些关键作品抽屉在钛中

  

对于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();
  

注意: leftMenuhomeScreen对于Android来说是View,但对于iOS来说它是Window

祝你好运,干杯