Titanium:如果窗口背景具有不透明度,则操作栏不会隐藏

时间:2017-09-20 15:10:50

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

我试图隐藏操作栏。

在大多数情况下,遵循这些说明并创建自定义主题似乎工作正常:

http://docs.appcelerator.com/platform/latest/#!/guide/Android_Action_Bar-section-src-36735509_AndroidActionBar-HidingtheActionBar

我做的是:

1)添加了以下自定义主题

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.NoActionBar" parent="@style/Theme.AppCompat">
        <item name="android:windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
        <!-- AppCompat Compatibility -->
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
</resources> 

2)修改tiapp.xml

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

在大多数情况下,标题不会出现。但是,当您有一个透明窗口时,您可以再次看到标题栏。

例如,请考虑以下事项:

父窗口

enter image description here

请注意,此处没有操作栏

没有透明度的窗口

"#win": {
    backgroundColor: "red",
}

enter image description here

请注意,操作栏仍然不可见

具有一定透明度的窗口

"#win": {
    backgroundColor: "red",
    opacity: 0.5,
}

enter image description here

2 个答案:

答案 0 :(得分:3)

如果您只想隐藏操作栏,Titanium会包含一些您可以使用的预定义主题。 http://docs.appcelerator.com/platform/latest/#!/guide/Android_Themes-section-src-34636181_AndroidThemes-TitaniumThemes

我认为Theme.AppCompat.Translucent.NoTitleBarTheme.AppCompat.Translucent.NoTitleBar.Fullscreen对您而言都很有趣。

如果您使用[controller].tss属性在.xml(或theme:中为Window属性指定此项,那么您应该是黄金。

<Window theme="Theme.AppCompat.Translucent.NoTitleBar">

答案 1 :(得分:0)

只需在tiapp.xml中添加样式

 <android 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest android:versionCode="16" android:versionName="4.1">
      <application android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar.Fullscreen">
        <activity android:configChanges="keyboardHidden|orientation" android:grantUriPermissions="true" android:screenOrientation="portrait" android:textAllCaps="false"/>
      </application>
    </manifest>
  </android>