在Titanium / Alloy / Appcelerator上隐藏Android上的操作栏

时间:2017-03-16 19:54:36

标签: android titanium appcelerator appcelerator-titanium titanium-alloy

如何在Alloy / Titanium上隐藏Android上的操作栏。我尝试过以下方法:

<FormattedMessage id='anyId' defaultMessage={ '\\\\' } />

但它只是抛出错误:

$.index.activity.actionBar.hide()

完整的错误消息如下:

 Cannot read property 'hide' of undefined

1 个答案:

答案 0 :(得分:8)

您需要注意的事情很少:

问题1 - 您是否要隐藏所有窗口的操作栏(适用于整个应用程序)?

问题2 - 您是否要在打开窗口后执行某些操作(某些单击或滚动时隐藏)后隐藏操作栏?

问题3 - 您是否要为少数窗口隐藏操作栏并将其显示在其他窗口中?

答案1: - 使用内置的Titanium主题

方法1 - 在tiapp.xml文件中使用此标记:

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest>
        <application android:theme="@style/Theme.AppCompat.NoTitleBar"/>
    </manifest>
</android>

方法2 - 在 app.tss 中设置 主题 属性:

"Window[platform=android]":{
    theme : 'Theme.AppCompat.NoTitleBar'
}

<小时/> 回答2:

这是您遇到该问题的情况。只有在打开窗口时,才能通过.js文件中的代码隐藏操作栏。您必须使用窗口的onOpen事件来运行此代码:

$.index.activity.actionBar.hide();

所以,它必须是这样的:

$.index.addEventListener('open', function () {
   $.index.activity.actionBar.hide();
});

或者您可以在某个按钮单击上运行hide()方法,因为当显然打开该窗口时您可以单击按钮,如下所示:

$.someButton.addEventListener('click', function () {
   $.index.activity.actionBar.hide();
});

<小时/> 回答3:

使用答案1 方法2 ,您可以在 .tss或.xml 文件中应用主题,以隐藏各个窗口上的操作栏并且不要在具有操作栏的窗口上应用任何主题。


点击 Titanium Android Themes

了解详情