2016-04-09 71 views
0

期间防止白边我重现此问题与最起码的阵营原生应用程序:方向变化

render() { 
    return View({style: { 
    flex: 1, 
    backgroundColor: 'black' 
    }}) 
} 

当我转动我的手机,在屏幕的一侧有取向转移过程中的白色部分。我如何使该区域的颜色与背景的其余部分相同?

回答

1

在您的应用程序的RootView中,默认背景颜色为白色。您可以使用以下步骤将其更改为另一种颜色:

在此示例中,我们将在iOS上将背景颜色设置为黑色

打开AppDelegate.m位于PROJECT_DIR/ios/Appname/进行编辑。

找到片段,看起来类似于以下内容:

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
                moduleName:@"Appname" 
              initialProperties:nil 
               launchOptions:launchOptions]; 

添加下面的代码行之前的片段后,立即:

rootView.backgroundColor = [UIColor blackColor];

生成的代码块应该如下所示:

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
               moduleName:@"Appname" 
             initialProperties:nil 
              launchOptions:launchOptions]; 

rootView.backgroundColor = [UIColor blackColor]; 

BAM! RootView背景颜色在iOS上设置!

Jay Garcia提供以下信息和更多内容:Changing the React Native RootView Background Color (iOS and Android)。 (我相信这篇文章中的Android信息可能会过时,这就是为什么我没有包含Android的步骤)。

希望这会有所帮助!

+1

啊。 React-Native并没有用JavaScript API解决这个问题,这真令人惋惜。我想知道这是否可以转化为npm模块,并且颜色是否可以在整个应用程序中动态更改。 – m59

-1

我不确定你在这里指的是什么。但是,包含这种观点的任何事情都需要其背景设定呢?

+0

你能帮我澄清我的问题?我不知道其他细节可以提供什么帮助。没有任何内容包含该视图。它是应用程序中的根组件和唯一组件,问题仍然存在。 – m59

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'); 
    } 
}