【发布时间】:2022-08-19 16:48:05
【问题描述】:
我正在尝试更改状态栏文本颜色。在应用程序中,我创建了一个如下图所示的简单屏幕。虽然它在 iOS 上运行良好,但我无法在 Android 上更改文本颜色。还有什么其他东西可以阻止Android吗?由于我后来参与了该项目,因此本机方面的某些东西可能会阻止这种情况。有没有其他方法可以为android做到这一点?我想要做的就是使状态栏文本颜色为 android 的黑色。
import React, { useState } from \'react\';
import { Button, SafeAreaView, StatusBar, StyleSheet, Text, View } from \'react-native\';
const STYLES = [\'default\', \'dark-content\', \'light-content\'];
export default function SignUp({ navigation }) {
const [statusBarStyle, setStatusBarStyle] = useState(STYLES[0]);
const changeStatusBarStyle = () => {
const styleId = STYLES.indexOf(statusBarStyle) + 1;
if (styleId === STYLES.length) {
setStatusBarStyle(STYLES[0]);
} else {
setStatusBarStyle(STYLES[styleId]);
}
};
return (
<SafeAreaView style={styles.container}>
<StatusBar
backgroundColor=\"#61dafb\"
barStyle={statusBarStyle}
/>
<Text style={styles.textStyle}>
StatusBar Style:{\'\\n\'}
{statusBarStyle}
</Text>
<View style={styles.buttonsContainer}>
<Button
title=\"Change StatusBar Style\"
onPress={changeStatusBarStyle} />
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: \'center\',
backgroundColor: \'#ECF0F1\'
},
buttonsContainer: {
padding: 10
},
textStyle: {
textAlign: \'center\',
marginBottom: 8
}
});
颜色.xml
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<resources>
<color name=\"colorPrimary\">#023c69</color>
<color name=\"colorPrimaryDark\">#ffffff</color>
</resources>
样式.xml
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<resources xmlns:tools=\"http://schemas.android.com/tools\">
<style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">
<item name=\"android:textColor\">@android:color/black</item>
<item name=\"android:editTextStyle\">@style/ResetEditText</item>
<item name=\"colorPrimary\">@color/colorPrimary</item>
<item name=\"colorPrimaryDark\">@color/colorPrimaryDark</item>
<item name=\"android:forceDarkAllowed\">false</item>
</style>
<style name=\"ResetEditText\" parent=\"@android:style/Widget.EditText\">
<item name=\"android:padding\">0dp</item>
<item name=\"android:textColorHint\">#c8c8c8</item>
<item name=\"android:textColor\">@android:color/black</item>
</style>
<style name=\"Theme.App.SplashScreen\" parent=\"AppTheme\">
<item name=\"android:windowBackground\">@drawable/splashscreen</item>
</style>
</resources>
标签: javascript java android react-native