Titanium: панель действий не скрывается, если фон окна непрозрачный.

Я пытаюсь скрыть панель действий.

По большей части следование этим инструкциям и создание пользовательской темы работает нормально:

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,
}

введите здесь описание изображения


person Yahya Uddin    schedule 20.09.2017    source источник


Ответы (2)


Titanium включает в себя пару предопределенных тем, которые вы можете использовать, если хотите просто скрыть панель действий. http://docs.appcelerator.com/platform/latest/#!/guide/Android_Themes-section-src-34636181_AndroidThemes-TitaniumThemes

Думаю, вам интересны и Theme.AppCompat.Translucent.NoTitleBar, и Theme.AppCompat.Translucent.NoTitleBar.Fullscreen.

Если вы укажете это в [controller].tss (или .xml для свойства Window, используя свойство theme:, вы должны быть золотыми.

<Window theme="Theme.AppCompat.Translucent.NoTitleBar">
person Rene Pot    schedule 20.09.2017
comment
Это идеально. Но как мне сделать так, чтобы все окна использовали эту тему. Я пытался добавить: <application android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar">, но это не сработало. - person Yahya Uddin; 20.09.2017
comment
Настройка темы в манифесте должна работать, но если она у вас не работает, то вы можете сделать это в app.tss следующим образом: "Window[platform=android]" : { theme: "Theme.AppCompat.Translucent.NoTitleBar.Fullscreen"} - person Prashant Saini; 20.09.2017

Просто добавьте стиль в 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>
person Aakash Sharma    schedule 22.09.2017
comment
это значение по умолчанию ** ‹application android:theme=@style/Theme.AppCompat.Translucent.NoTitleBar.Fullscreen›** нет необходимости создавать собственную тему для скрытия панели действий - person Aakash Sharma; 23.09.2017