LoginSignup
0
0

More than 1 year has passed since last update.

ReactNativeで作ったアプリのAndroid版がダークモードにすると、アラートの文字が黒いままになってて見にくいので解決する

Last updated at Posted at 2021-10-29

Androidでダークモードにするとアラートの文字が黒いままで見にくい現象が起きた

Androidでアラートを出そうとした時、通常はこのようなUIになります。
スクリーンショット 2021-10-13 14.14.38.png
実装はとても簡単でこんな感じです。

import React from 'react';
import {Alert, Button, View} from 'react-native';

export const AlertView = () => {
    const onAlert = () => {
        return Alert.alert('こんにちは')
    }
  return (
    <View>
      <Button title="タップ" onPress={onAlert} />
    </View>
  );
};

React Native標準のAlertを使えば簡単に表示できます。
ただ、アラート内の文字にスタイリングを当てることはできないというデメリットもありますが、基本的にアラートを出すときはこれで十分だと考えられます。

しかし、スマホをダークモードにしてしまうと。。。。
スクリーンショット 2021-10-13 14.14.17.png
アラート自体は暗くなるのに文字が黒いままで非常に見にくくなります。
自動的に対応してくれないのかよ!と思いました。

解決策

プロジェクト内のandroidディレクトリ内にダークモードでも文字色を黒にするように標準で設定されていました。
その文をなくせば解決します。
プロジェクト名/android/src/main/res/values/styles.xmlに行きます。

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:textColor">#000000</item> ←問題のコー    </style>

</resources>

item name="android:textColor">#000000</item>
これを消しちゃってください。それで問題解決します。

実際に検証してみると、、
スクリーンショット 2021-10-13 14.13.18.png
こんな感じになります!

アラートの文字以外にもTextInputのPlaceholderなど文字にカラーを設定していないところはダークモードにしても黒くなってしまいます。

ご参考までに!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0