2016-04-09 99 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'); 
    } 
}