Android特定のファイルを編集せずに、 StatusBar
コンポーネントの背景色をreact-native
から変更するにはどうすればよいですか?
ドキュメント says 、使用できる backgroundColor
プロパティ。しかし、それは失敗します。 barStyle
プロパティ、setBarStyle
&& setBackgroundColor
静的メソッドも正しく機能しません。
hidden
プロパティのみが機能します。
Expo で構築された create-react-native-app
を使用しています。
Expoアプリでは、プロジェクトのルートディレクトリにあるapp.json
を次のように編集する必要があります。
{
"expo": {
"sdkVersion": "16.0.0",
"androidStatusBar": {
"barStyle": "dark-content",
"backgroundColor": "#0A48A5"
}
}
}
Expoのドキュメントを参照してください: https://docs.expo.io/versions/v16.0.0/guides/configuration.html
color.xml in.. Android/app/src/main/res/valuesを追加し、次のコードをパテします
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- color for the app bar and other primary UI elements -->
<color name="colorPrimary">#3F51B5</color>
<!-- a darker variant of the primary color, used for
the status bar (on Android 5.0+) and contextual app bars -->
<color name="colorPrimaryDark">#A52D53</color>
<!-- a secondary color for controls like checkboxes and text fields -->
<color name="colorAccent">#FF4081</color>
</resources>
.. Android/app/src/main/res/values/styles.xmlの次のコードをコピーしてパテします
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
これを使って
import {StatusBar} from 'react-native';
const bar = ()=>{
return( <StatusBar backgroundColor="insert your color here"/> );
};