为什么钛合金中的动作条会使我的应用程

时间:2013-07-03 11:59:43

标签: android android-actionbar titanium titanium-mobile

正在开发钛appcelerator中的Android应用程序。现在我的问题是我必须在我的应用程序中添加操作栏并在其左侧和右侧放置两个按钮

但我无法成功实施操作栏

我已经完成了以下操作以显示操作栏,但它只是崩溃ma应用程序,

    var win = Ti.UI.createWindow({
        title: _args.title,
        backgroundColor:'black',
        navBarHidden: false,
        containingTab: _args.containingTab,
        //tabGroup: _args.tabGroup,
        barImage:rootPath+'/Components/top_bg.jpg'
    });


var actionBar;
win.addEventListener("open", function() {
    if (Ti.Platform.osname === "android") {
        if (! win.activity) {
            Ti.API.error("Can't access action bar on a lightweight window.");
            alert("NOT ACTIVITY");
        } else {
            actionBar = win.activity.actionBar;
            if (actionBar) {
                alert("ACTIVITY");
                actionBar.backgroundImage = "/images/bg_top.png";
                actionBar.title = "New Title";
                actionBar.onHomeIconItemSelected = function() {
                    Ti.API.info("Home icon clicked!");
                };
            }
        }
    }
});

任何人都可以指导我在哪里做错了吗?或者还有什么我必须遵循的。

2 个答案:

答案 0 :(得分:4)

尝试将其包装在onCreateOptionsMenu

   win.activity.onCreateOptionsMenu = function(e) {
        actionBar = win.activity.actionBar;
        if (actionBar) {
            alert("ACTIVITY");
            actionBar.backgroundImage = "/images/bg_top.png";
            actionBar.title = "New Title";
            actionBar.onHomeIconItemSelected = function() {
                Ti.API.info("Home icon clicked!");
            };
        } else {
            alert('missing action bar');
        }
     });

答案 1 :(得分:1)

我遇到了同样的问题,花了一些时间才找出我必须在tiapp.xml中添加哪些代码

<uses-sdk android:maxSdkVersion="18" 
            android:minSdkVersion="11" android:targetSdkVersion="18"/>

将它放在清单元素中它应该有用。请注意,操作栏仅适用于android api 11及更高版本。