【问题标题】:i am unable to apply "Theme.AppCompat.NoTitleBar" and "colorPrimaryDark" status bar color property at the same time我无法同时应用“Theme.AppCompat.NoTitleBar”和“colorPrimaryDark”状态栏颜色属性
【发布时间】:2019-01-25 05:24:23
【问题描述】:

我想在整个应用程序中隐藏操作栏,还想设置状态栏颜色?在 Appcelerator 钛中。

【问题讨论】:

    标签: android appcelerator appcelerator-titanium appcelerator-mobile appcelerator-studio


    【解决方案1】:

    请遵循https://wiki.appcelerator.org/display/guides2/Android+Action+Bar的官方指南

    您可以在 open 事件中将其隐藏在代码 win.activity.actionBar.hide(); 中,并在主题 xml 中使用普通样式,或者将主题中的父级设置为 <style name="Theme.MyTheme" parent="Theme.AppCompat.NoTitleBar">.

    状态栏颜色是一个主题项: <item name="android:statusBarColor">#ff0000</item>。您可以添加到您的主题中。

    以下是我用作示例的样式:

    <style name="Theme.MyTheme" parent="Theme.AppCompat.NoTitleBar">
        <item name="colorPrimary">#212121</item>
        <item name="colorPrimaryDark">#000000</item>
        <item name="android:statusBarColor">#00d59e</item>
        <item name="colorAccent">#ff225c</item>
        <item name="android:textColorHint">#999999</item>
    </style>
    

    使用

    "Window" : {
        theme: "Theme.MyTheme",
        barColor: "#ff225c"
    }
    

    【讨论】:

      【解决方案2】:

      我将自定义主题文件保存在里面

      App->Platform->Android->res->values->mytheme.xml
      

      我的 xml 文件如下所示,对我来说效果很好..

       <resources>
          <style name="Theme.MyTheme" parent="Theme.AppCompat.NoTitleBar.Fullscreen">
              <item name="buttonStyle">@style/MyButton</item>
          </style>
          <style name="MyButton" parent="Widget.AppCompat.Button">
              <item name="android:textAllCaps">false</item>
          </style>
      </resources>
      

      在 maifest 内的 tiapp.xml 文件中

      <application android:theme="@style/Theme.MyTheme"/>
      

      【讨论】:

        【解决方案3】:

        试试这个代码。也许它会对你有所帮助。 -

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                    getWindow().setStatusBarColor(getResources().getColor(R.color.color_name));
                }
        

        【讨论】:

        • 问题是关于 Titanium 而不是原生 Android
        • @miga,我尝试了您的以下源代码。我没有使用iOS。我可以知道为什么它不起作用吗? github.com/m1ga/hyperloop.barcode
        • @faizal 与问题和回复非常无关。但是是的:A barcode scanner example for Android using Hyperloop。它仅使用 Android 库,因此无法在 iOS 上运行,也不是为此而设计的
        • 感谢@miga 如果它也必须在 IOS 中实现怎么办
        • 那就随意吧 :) 我不想这样做,因为我不在 iOS 上使用 Hyperloop。但是 iOS 已经有多个条形码模块,所以只需使用它们。但请:使用谷歌,ti-slack。这不是这篇 SO 帖子的主题!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-11
        • 2017-03-26
        • 1970-01-01
        相关资源
        最近更新 更多