【问题标题】:Titanium: Action bar does not hide if the window background has opacityTitanium:如果窗口背景不透明,操作栏不会隐藏
【发布时间】:2017-09-20 15:10:49
【问题描述】:

我正在尝试隐藏操作栏。

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

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>

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

例如考虑以下内容:

父窗口

注意这里没有操作栏

不透明的窗口

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

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

具有一定透明度的窗口

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

【问题讨论】:

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


    【解决方案1】:

    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 中指定此内容(或使用 theme: 属性在 Window 属性中指定 .xml,则您应该是黄金。

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

    【讨论】:

    • 太完美了。但是我怎样才能使所有窗口都使用该主题。我尝试添加:&lt;application android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar"&gt; 但这似乎不起作用
    • 在清单中设置主题必须有效,但如果它不适合您,那么您可以在 app.tss 中这样做:"Window[platform=android]" : { theme: "Theme.AppCompat.Translucent.NoTitleBar.Fullscreen"}
    【解决方案2】:

    只需在 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>
    

    【讨论】:

    • 这是默认的 ** ** 无需为隐藏操作栏创建自定义主题
    猜你喜欢
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多