【问题标题】:Status bar transparent on android with nativescript带有nativescript的android上的状态栏透明
【发布时间】:2020-04-30 15:19:59
【问题描述】:

我想知道如何使用 Nativescript 在 Android 上将状态栏设置为透明?

我阅读了很多帖子(How do I create a transparent Activity on Android?https://blog.mindorks.com/how-to-create-a-transparent-activity-in-android...),但状态栏总是灰色或不透明。

在 values/styles.xml 我添加了这个:

<style name="Theme.AppCompat.Transparent.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

在 AndroidManifest.xml 中

<activity
            android:name="com.tns.NativeScriptActivity"
            android:label="@string/title_activity_kimera"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode"
            android:theme="@style/Theme.AppCompat.Transparent.NoActionBar">

我很困惑,因为这很容易。也许它在 nativescript 上有所不同?

我看了这个视频https://www.youtube.com/watch?v=NroxMDGOJ_E,但如果我在 ns_primaryDark 上设置这个颜色“#00000000”或“@android:color/transparent”,它就不起作用了。

【问题讨论】:

  • 在样式 xml 中将 android:windowIsTranslucent 设置为 true 对我来说非常有效。如果你有问题,请分享一个 git repo。

标签: android nativescript statusbar


【解决方案1】:

也许这可能会有所帮助?

https://github.com/PeterStaev/NativeScript-Status-Bar

// Get reference to the Status Bar plugin module
import statusBar = require("nativescript-status-bar");

exports.loaded = function() {
    statusBar.hide();
}

【讨论】:

  • 我想要背景透明且不隐藏状态栏
  • @JérémieChazelle 你找到解决办法了吗?
【解决方案2】:
  • page.xml
  • page.js
  • page.css

在 Nativescript 6 中测试,在您页面对应的 nativescript CSS 文件中试试这个:

ActionBar {
   opacity: 0;
}

这里0是完全透明,0.5是半透明,1是完全显示Actionbar。

不过,隐藏操作栏的一种简洁方法是直接转到 javascript 页面:

exports.loaded = function (args) {
    page = args.object;
    page.actionBarHidden = true;
}

在您的 XML 页面中,我们添加将接收事件的加载函数和页面,并根据“actionBarHidden”的属性隐藏该页面操作栏:

<Page loaded="loaded">
<Page>

【讨论】:

  • 谢谢@gnu_byte,但我想将状态栏设置为透明而不是操作栏:-)
  • @JérémieChazelle 您指的是通常位于操作栏上方的手机 UI 状态栏吗?
  • @gnu_bytes 是的!
猜你喜欢
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2021-12-16
  • 2017-12-24
  • 1970-01-01
相关资源
最近更新 更多