primaryDarkが白の場合にステータスバーのテキストの色を変更する 質問する

primaryDarkが白の場合にステータスバーのテキストの色を変更する 質問する

Google カレンダー アプリケーションの動作を再現しようとしています:ここに画像の説明を入力してください

しかし、ステータス テキストの色を変更する方法が見つかりません。colorPrimaryDark を白に設定すると、ステータス バーのアイコンもテキストも白になるため、表示されません。

ステータスバーのテキストの色を変更する方法はありますか?

ベストアンサー1

どの API レベルをターゲットにしようとしているのかはわかりませんが、API 23 固有のものを使用できる場合は、AppTheme の style.xml に次のコードを追加できます。

<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">true</item>

が true に設定されている場合android:windowLightStatusBar、ステータス バーの色が白のときにステータス バーのテキストの色が表示されるようになり、逆に がandroid:windowLightStatusBarfalse に設定されている場合、ステータス バーの色が暗いときにステータス バーのテキストの色が表示されるように設計されています。

例:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <!-- Status bar stuff. -->
    <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    <item name="android:windowLightStatusBar">true</item> 
</style>

おすすめ記事