小编Ale*_*son的帖子

设置 DialogFragment 上导航栏的颜色

我有带有黑色导航栏的夜间主题,在应用程序主题参数中设计

<item name="android:navigationBarColor">@color/color_navbar</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是当我显示 DialogFragment 时,导航栏颜色变为白色。晚上对眼睛伤害很大。
我尝试设置dialogfragment样式但它对我没有帮助:

public void onCreate(Bundle savedInstanceState) {
    setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Theme_AppCompat_DayNight_Dialog);
    super.onCreate(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)

结果是白色的:
在此输入图像描述

我的基本应用程序风格是Theme.MaterialComponents.DayNight.NoActionBar
我在 android Q 上测试它。
那么在对话框片段上自定义导航栏颜色的方法是什么?或者,如果有一种方法可以在显示对话框片段时不更改导航栏颜色,并使用显示此对话框的活动中的颜色,那就更好了。

android android-dialogfragment android-styles android-night-mode

4
推荐指数
1
解决办法
3886
查看次数

Gadle 3.0 Flavor错误重复类

在将Android Studio和Gradle更新到3.0版后,我无法使用3种风格(dbg,production和nostore production)构建我的应用程序
在每个风味源集的java/src文件夹中(排除main)我有一些Flavors.class类和一些为此源集指定的方法.
但是当我尝试运行或构建应用程序时,我有错误: Error:(9, 8) error: duplicate class: my.app.namespace.Flavors.
此外,我添加gradle变量维度flavorDimensions "dbg", "prod","nostore"dimension为每个风味部分添加值.
这是它的外观:

android{
   compileSdkVersion 24
   buildToolsVersion '26.0.2'
   ...
   flavorDimensions "dbg", "prod","nostore"
   productFlavors {

    dbg{
        ndk {
            abiFilters "armeabi", "x86"
        }
        dimension "dbg"
    }

    production{
        ndk {
            abiFilters "armeabi", "x86"
        }
        dimension "prod"
    }

    nostoreprod {
        ndk {
            abiFilters "armeabi", "x86"
        }
        dimension "nostore"
    }
  }     
}
Run Code Online (Sandbox Code Playgroud)

我不明白什么是错的,这段代码看起来像https://developer.android.com/studio/build/build-variants.html上的示例.
有一点,在Build Varians面板上,我现在只有2个varians:dbgProductionNostoreprodDebug和dbgProductionNostoreprodRelease但是在之前的AS和Gradle版本中,我对这个面板上的每种风格都有不同的变体.(看起来像AStudio尝试在同一时间内使用所有变体进行单一构建或什么?)

android gradle android-studio android-studio-3.0

2
推荐指数
1
解决办法
633
查看次数