0

私のテーマ/色の設定...

アプリ.xaml:

<Application.Resources>
        <Color x:Key="PageBackgroundColor">#1F1F1F</Color>
        <Style TargetType="Entry">
            <Setter Property="HorizontalOptions" Value="Fill" />
            <Setter Property="TextColor" Value="Whitesmoke" />
            <Setter Property="PlaceholderColor" Value="Red" />
            <Setter Property="HorizontalTextAlignment" Value="Center" />
        </Style>
        <Style TargetType="Label">
            <Setter Property="TextColor" Value="WhiteSmoke" />
        </Style>
        <Style TargetType="TimePicker">
            <Setter Property="TextColor" Value="WhiteSmoke" />
        </Style>
        <Style TargetType="Picker">
            <Setter Property="TextColor" Value="WhiteSmoke" />
            <Setter Property="TitleColor" Value="Red" />
        </Style>
    </Application.Resources>    

スタイル.xml:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="MainTheme" parent="MainTheme.Base">  
    <item name="colorAccent">#ff0000</item>    
  </style>
  <style name="MainTheme.Base" parent="Theme.AppCompat.Light">
    <item name="android:timePickerDialogTheme">@style/MyTimePickerDialogStyle</item>
  </style>
  <style name="MyTimePickerDialogStyle" parent="@style/ThemeOverlay.AppCompat.Dialog.Alert">
    <item name="colorControlActivated">#FF0000</item>
    <item name="colorAccent">#000000</item>
    <item name="android:textColorPrimary">#000000</item>
    <item name="android:textColorSecondary">#000000</item>
  </style>     
</resources>

MainPage.xaml:

<ContentPage ...
             BackgroundColor="{DynamicResource PageBackgroundColor}"
             ...>
    ...
    <Button ... TextColor="#F5F5F5" BackgroundColor="#007F00" ... />
    ...
    <Label ... BackgroundColor="#F5F5F5" ... />

私のアプリは、選択されたダーク/ライト モードに関係なく、暗い背景にあることを意図しています。ダーク/ライト モードはどの色にも影響しません。Android 10 のライト モードでは色の問題はありません。ダーク モードの場合:

  • 緑のボタン (#008000) がライム色になり、白いテキストの色が判読不能になるため、ボタンの BackgroundColor プロパティを緑 (#008000) から #007F00 に変更する必要がありました。
  • ラベル WhiteSmoke (#F5F5F5) が暗くなる
  • を に変更する<Setter Property="TextColor" Value="WhiteSmoke" /><Setter Property="BackgroundColorColor" Value="WhiteSmoke" />、変更はライト テーマにのみ適用されます
  • BackgroundColor が赤に設定されているボタンでは問題ありません (#FF0000)

いったいなぜ、ダーク モードが特定の色だけに影響を与えるのでしょうか? ダークモードをオーバーライドできる設定がいくつかあると思います。助言がありますか?

編集: ダークモードを無効にする方法はありますか? ダーク/ライトモードの影響を受けないように、テーマ、スタイル、色などを設定する方法は?

EDIT2:スクリーンショット...

ライトモード:

ホワイトモード

ダークモード:

ダークモード

EDIT3: 画像にも影響します。

赤と緑の背景のみが異なる2つのほぼ同一の画像で試しました。残りの背景は透明です。「スワイプ」という単語と矢印は #F5F5F5 色で、「A」の周りの円は #FFFFFF です。画像は Photoshop からの新鮮なものです。

swipe_colours

スワイプ_白

ホワイト/ダークモード時のスクリーンショット:

ホワイトモード___ホワイトモード

ご覧のとおり、ダーク モードは、前に述べた 16 進数の色と同様に、2 つの画像のうちの 1 つだけに影響します。

4

1 に答える 1