在本机中如何在Android上更改根视图背景颜色?

时间:2017-07-19 06:54:33

标签: react-native react-native-android

我已经在线阅读了几个教程,但大多数关于iOS的讨论或一些关于Android的讨论但使用旧版本的反应,现在一切都发生了变化。

如果我打开MainActivity.java,那么只有一种方法

ApplicationContext ctx = new AnnotationConfigApplicationContext(HibernateConfig.class);
Userdao userdao = ctx.getBean("userDao",Userdao.class);

这意味着我无法访问rootview并更改其背景颜色,因为现在似乎任何人都无法使用onCreate方法。

我也试过打开res / styles并在那里添加我的行但是我一直在收到错误

@Override
protected String getMainComponentName() {
    return "myapp";
}

我尝试了但没有任何变化,仍然出现相同的灰色背景。 希望我可以做出反应,但添加背景不仅增加了不必要的透支,当加载时,这种滞后有一个背景,然后变为另一个,它非常难看。

3 个答案:

答案 0 :(得分:8)

android/app/src/main/res/values/

  • 创建(或编辑)colors.xml以添加背景颜色,例如:
<resources>
  <color name="background">#AB47BC</color>
</resources>
  • styles.xml中,添加名为android:windowBackground的主题自定义项,引用所选的颜色名称,例如:
<resources>
  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@color/background</item>
  </style>
</resources>

答案 1 :(得分:1)

我创建了一个库,它允许您从JavaScript级别开始,也允许您进行动态更改。

https://github.com/johniak/react-native-root-view-background

import { setRootViewBackgroundColor } from 'react-native-root-view-background';

export default class Main extends Component {
    componentDidMount(){
        setRootViewBackgroundColor('#ccc');
    }
}

此解决方案的缺点是在加载JS后设置颜色。

答案 2 :(得分:-2)

您需要实现React样式以更改背景颜色。

相关问题