标签: android-darkmode

Android Jetpack Compose 预览 UI_MODE_NIGHT_YES 在预览中不显示深色背景

我正在关注https://developer.android.com/jetpack/compose/tutorial

和代码

@Preview(name = "Light Mode")
@Preview(name = "Dark Mode", uiMode = Configuration.UI_MODE_NIGHT_UNDEFINED, showBackground = true)
@Preview(name = "Full Preview", showSystemUi = true)
@Composable
fun DefaultPreview() {
    ComposeTutorialTheme {
        MessageCard(Message("Roman", "message body"))
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android android-dark-theme android-darkmode

29
推荐指数
1
解决办法
1万
查看次数

如何在 Android Studio 预览中在夜间模式和灯光模式之间切换?

我开始在我的应用程序上实现暗模式,我正在使用Theme.AppCompat.DayNight.NoActionBar. 设备上一切正常,但我想查看 Android Studio 上的差异,因此我不必继续运行代码来查看更改。

如何切换 Android Studio Preview 以显示夜间模式与灯光模式主题?

谢谢。

编辑:为了清楚起见,我想在预览中显示资源文件夹-night而不是普通资源文件夹中的任何内容。

android android-theme android-studio material-design android-darkmode

19
推荐指数
2
解决办法
9605
查看次数

Android 深色模式下的颜色

各位开发者大家好。

我已经使用Android Studio开发了 Android 应用程序,但我只考虑了灯光模式的布局主题。它看起来是这样的:

灯光模式

所以现在,当我将手机切换到深色模式时,会发生这种情况:

深色模式

如何更改深色模式下显示的颜色?

java android themes android-studio android-darkmode

12
推荐指数
2
解决办法
2万
查看次数

Android - 深色模式问题:深色背景上的黑色文本

当我启用深色模式时,我的应用程序上的某些菜单看起来很糟糕:非常暗的背景上的黑色文本。我对颜色完全是一个初学者。

在此输入图像描述

我还没有接触过 android studio 上默认颜色设置的任何内容,所以我有默认的两个主题 XML 和 Color Xml:

     <resources xmlns:tools="http://schemas.android.com/tools">
     <!-- Base application theme. -->
     <style name="Theme.TestSS" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
         <!-- Primary brand color. -->
         <item name="colorPrimary">@color/purple_500</item>
         <item name="colorPrimaryVariant">@color/purple_700</item>
         <item name="colorOnPrimary">@color/white</item>
         <!-- Secondary brand color. -->
         <item name="colorSecondary">@color/teal_200</item>
         <item name="colorSecondaryVariant">@color/teal_700</item>
         <item name="colorOnSecondary">@color/black</item>
         <!-- Status bar color. -->
         <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
         <!-- Customize your theme here. -->
     </style>

     <style name="Theme.TestSS.NoActionBar">
          <item name="windowActionBar">false</item>
          <item name="windowNoTitle">true</item>
     </style>

     <style name="Theme.TestSS.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

     <style name="Theme.TestSS.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
   </resources>
Run Code Online (Sandbox Code Playgroud)

和:

    <resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. --> …
Run Code Online (Sandbox Code Playgroud)

android themes colors android-dark-theme android-darkmode

11
推荐指数
3
解决办法
3万
查看次数

Jetpack Compose TextField 深色模式下的文本颜色

我一直在尝试 Jetpack compose,我注意到,尽管Text切换到深色模式时文本颜色会正确更新,但TextField或 的文本颜色OutlinedTextField仍然顽固地保持黑色。不过,标签和提示的颜色正确。

确定字段的默认文本样式是MaterialTheme.typography.body1我已更新我的应用程序主题以包含此解决方法:

val typography = if (darkTheme) {
    //TODO: Hack to show text field text in dark mode
    MaterialTheme.typography.copy(body1 = MaterialTheme.typography.body1.copy(color = Color.White))
} else {
    MaterialTheme.typography
}
MaterialTheme(colors = colors, content = content, typography = typography)
Run Code Online (Sandbox Code Playgroud)

但如果这是解决方案,我就必须对每种排版风格都这样做,而且感觉应该是自动的。那么我是否做错了什么,或者这是在正式发布之前将得到解决的问题之一?

这是我的实际可组合项之一(包含在我的主题中):

@Composable
fun UsernameField(
    value: String,
    isError: Boolean,
    onValueChange: (String) -> Unit,
) {
    Column {
        OutlinedTextField(
            value = value,
            onValueChange = onValueChange,
            modifier = Modifier.fillMaxWidth(),
            label = { Text("Username") }, …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-darkmode android-compose-textfield

11
推荐指数
1
解决办法
8918
查看次数

有没有一种快速方法可以在 Android 模拟器中切换暗模式?

我主要使用Android模拟器进行开发。是否有一种快速方法(最好是键盘快捷键)在深色模式和浅色模式之间切换以测试深色/浅色主题?

android android-emulator android-darkmode

8
推荐指数
2
解决办法
2335
查看次数

暗模式下的 Android 10 通知图像看起来像负面图像

暗模式下的 Android 10 通知看起来像负面图像

注意:我没有将我的应用程序定位到 android 10 (API 29)

 minSdkVersion 17
 targetSdkVersion 28
Run Code Online (Sandbox Code Playgroud)

Android 10 通知如下所示

在此处输入图片说明

在 API 28 暗模式下工作正常

android android-notifications android-10.0 android-darkmode

7
推荐指数
1
解决办法
774
查看次数

Android DarkMode:价值之夜不起作用

我正在我的应用程序中开发 Day/Night 功能,所以我阅读了这些文档并开始开发它。

使用 deligate 方法在 Day 或 Night 中使用默认值可以正常工作AppCompatDelegate.setDefaultNightMode(*)

为了自定义夜间主题颜色,我创建了values-night文件夹,并在里面创建了如下所示的colours.xml文件。

res -> values -> colors.xml
res -> values-night -> colors.xml
Run Code Online (Sandbox Code Playgroud)

在我放置该颜色但未应用于 Night 主题之后!很奇怪为什么价值夜间颜色并不总是应用其显示的默认夜间颜色?我研究了一些,但找不到解决方案。

注意:重新创建活动解决了我的问题,但我不想重新创建

这是我的 build.gradle 文件

在此处输入图片说明

提前谢谢。

android android-theme android-darkmode

7
推荐指数
1
解决办法
5994
查看次数

Android:在黑暗模式下反转颜色

我在某些 Android 手机上使用某些图像视图时遇到问题。

似乎暗模式反转了某些资产的颜色(不是全部,似乎只有黑色/深灰色)

一个例子。

亮/正常模式下的图像(正确)

暗模式下的图像

我找不到避免这种情况的方法。是否有某种属性可以保护图像不被反转?

android android-darkmode

7
推荐指数
1
解决办法
653
查看次数

继承 Theme.AppCompat.DayNight 后更改 ActionBar 文本颜色

我正在实现对暗模式的支持。但是在我将 Theme parent 更改为Theme.AppCompat.DayNight 之后,Action Bar 中的文本是黑色的(白天模式下为黑色,黑暗模式下为白色)。我希望文本始终为白色。我试图在styles.xml (values and values-night) 中改变文本颜色

<style name="AppTheme" parent="Theme.AppCompat.DayNight">
  <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>

<style name="MyActionBarStyle" parent="Theme.AppCompat.DayNight.DarkActionBar">
  <item name="android:titleTextStyle">@style/MyActionBarTitleTextStyle</item>
</style>

<style name="MyActionBarTitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
  <item name="android:textColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但它不起作用。ActionBar 中的标题文本颜色仍然是黑色。

android android-appcompat android-actionbar android-darkmode

6
推荐指数
1
解决办法
2812
查看次数