我正在开发一款应用程序,在主屏幕的浅色背景上显示一些暗文本。我想从Android主题中获取颜色,随着每部手机而变化。我在两种方法之间存在一些差异,对原生init做出反应并创建反应本机app(expo)。
在react-native-cli版本中,组件在我的redmi note 4上呈现灰色文本,在我的moto G上呈现黑色文本(带有奇怪的白色轮廓)。这种行为是我想要的,因为本机使用默认值来自android的appcompat主题的文字颜色。
但我尝试使用create-react-native-app制作另一个应用程序。文本总是黑色的,因为不是从系统中获取值,而是用黑色覆盖它,here和here是expo客户端应用程序的github中的相关文件。主要是styles.xml上的第25行和colors.xml上的第4行(它实际上不是纯黑色,它是#011A2D)
我想要使用react-native init的行为。但我也想在Play商店中使用expo客户端运行我的应用程序,因此我可以将它显示给客户端,以便使用expo应用程序进行测试,而不是分发apks。所以我想我可以改变css上的样式,但为此我需要知道当前运行的主题的值。
是否有任何来自js的API可以让我达到原生的android主题颜色,以便我可以在css上应用它们并覆盖expo客户端应用程序样式?