如何将React Native Android的默认文本颜色更改为黑色?

15

目前它是浅灰色的,但我想把它改成黑色。我已经尝试了多个在线找到的方法,但还是不起作用。如果您能帮忙,谢谢!

版本:0.43.1(由于商业原因,现在无法更改)

我已尝试过多种语法组合,删除生成文件夹并运行react-native run-android,但仍未更改。

我不想使用任何全局样式库,因为我想将开销最小化到已有的代码库中。

这是我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.xxxxxxx"
 android:versionCode="1"
 android:versionName="1.0"
 android:installLocation="internalOnly">

 <application android:icon="@mipmap/app_icon"
     android:label="@string/app_name"
  android:name=".MainApplication"
  android:manageSpaceActivity="com.salesforce.androidsdk.ui.ManageSpaceActivity"
        android:theme="@style/AppTheme"
 >

  <!-- Launcher screen -->
  <activity android:name=".MainActivity"
      android:label="@string/app_name"
      android:screenOrientation="landscape"
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>

        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"
      android:screenOrientation="landscape" />

 </application>

    <uses-sdk android:minSdkVersion="19"
        android:targetSdkVersion="25" />

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 <uses-permission android:name="android.permission.BLUETOOTH"/>         <!-- for Device Name -->
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  <!-- for Phone Number -->

</manifest>

这是我的文件夹结构:

enter image description here

这是我的styles.xml:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:textColor">#000</item>
    </style>

</resources>


https://dev59.com/Opnga4cB1Zd3GeqPcrlQ - AskNilesh
1
@Nilu 谢谢!我已经阅读了答案,但我希望将其作为最后的选择,因为目前在iOS上它非常完美,只需要修改Android上的默认文本颜色,一切就会变得很好。因此,我更喜欢将开销最小化,避免需要在我们庞大的代码库中替换所有Text实例所带来的麻烦。 - kdenz
1
请查看此链接:https://dev59.com/WWw05IYBdhLWcg3w9mdW#6921818 - AskNilesh
1个回答

18
在styles.xml文件中创建主题,并在清单文件中应用它。以下是我们的主题样式:

android/app/src/main/res/values/styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="android:textColor">#000000</item>
</style>

AndroidManifest.xml:

<application
  ...
  android:theme="@style/AppTheme">

(基于这个答案。)


此功能现已默认包含在 React Native 0.61.x 中。请参见 https://react-native-community.github.io/upgrade-helper/?from=0.59.3&to=0.61.2。 - Freewalker
奇怪,我看到了所有的内容,但我的安卓颜色仍然是浅灰色。 - Steven Matthews

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接