2017-10-02 13 views
0

AndroidでReactネイティブコードを実行すると、アイテムのリストが表示されます。私はリストの最初の要素を画面の中央に置こうとしています。React-Nativeリストの最初の要素は、境界線のない画面に表示されます

私はこのコンポーネント

export default class AwesomeProject extends Component { 
    render() { 
    return (
     <View style={styles.container} > 
     <List 
      Items={Items} 
      align-items="right" 
     /> 
     </View> 
    ); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    justifyContent: 'center', 
    alignItems: 'center', 
    backgroundColor: '#000000', 
    }, 
    welcome: { 
    fontSize: 20, 
    textAlign: 'center', 
    margin: 10, 
    }, 
    instructions: { 
    textAlign: 'center', 
    color: '#333333', 
    marginBottom: 5, 
    } 
}); 

を作成しかし、問題は、最初の項目が画面の中央にないことである。

enter image description here

中心に複数の画像を移動するには、Iを添加これまでのスタイル:

{paddingLeft: "15%"} 

今、

enter image description here

これは、スタートのために良いように見えますが、私は、リストを右方向にスクロールすると、左側の境界線が消えない:イメージはこのようになります。

リストの最初の要素を中央に配置する方法はありますか?あなたは2番目の項目までスクロールしたときに、条件付きスタイルを作ってみませんなぜ

答えて

1

...

{paddingLeft: this.state.isFirstItem && "15%"} 

はその後、this.setState({isFirstItem: false})

+0

これは 'Flatlist'です。リストの2番目の項目にスクロールしたことをどのように知ることができますか。トリガされるライフサイクルメソッドはありますか? – octavian

+0

[FlatList Docs](https://facebook.github.io/react-native/docs/flatlist.html)を見ると、これらは有望な[onViewableItemsChanged](https://facebook.github.io /react-native/docs/flatlist.html#onviewableitemschanged)と[recordInteraction()](https://facebook.github.io/react-native/docs/flatlist.html#recordinteraction) –