2017-05-27 14 views
0

私はflexDirection列を持つビュー内にイメージを配置しようとしていますが、このビューはflexDirection行を持つ別のビュー内に配置しようとしています。これは私が望む結果である:React Native:flexDirection行内のflexDirection列内のイメージ

そして、これは私が得る結果である:

画像の幅が青いの幅と同じにする必要がありますテキスト。しかし、なぜイメージが内部のビューよりも大きいのか分かりません。ここに私のコードです:

<View> 
    <View style={{flex: 1, flexDirection: 'row'}}> 

     <View style={{flex: 1, flexDirection:'column', backgroundColor: 'blue'}}> 

     <Image 
      style={{flex: 3, backgroundColor: 'red'}} 
      source={require('../img/2.jpg')} 
      resizeMode={Image.resizeMode.contain} 
     /> 

     <Text style={{flex: 1}}>24/06/2017</Text> 

     </View> 

     <View style={{flex: 2}}/> 
    </View> 

    </View> 

この部分は、コンテンツのビューをシミュレートするために使用されます。

<View style={{flex: 2}}/> 

私はiOSで実行しています。

var { 
    Dimensions 

} = React; 

以下のように

+0

私は電話でフレックスに精通していませんが、イメージとテキストでフレックス番号が一致するように作ってみましたか? –

+0

イメージにフレックス1を置くと、結果は同じになります。 – brenoxp

+0

私が望む結果を得るための唯一の方法は、flexDirection: 'column'をflexDirection: 'row'に変更し、ImageがViewにフィットするようにしていましたが、これを行うとImageを画像の下部に置くことができません。 – brenoxp

答えて

0

This View Screenshot

また、あなたがイメージの高さと幅を設定する必要があり、このようにしてみてください外形寸法を追加します。

以下
<View> 
     <View style={{flexDirection: 'row', height:200 }}> 

      <View style={{ flexDirection:'column', backgroundColor: 'blue', height:100 , width: 100}}> 

      <Image 
       style={{ backgroundColor: 'red', height:100 , width: 100}} 
       source={require('./img/2.jpg')} 
       resizeMode={Image.resizeMode.contain} 
      /> 
      <Text style={{backgroundColor: 'blue'}}>24/06/2017</Text> 


      </View> 
     </View> 

     </View> 

は、コードがあなたに与えていますモバイルレイアウトの幅がモバイルデバイスの幅に応じて幅と高さを変更する 例:

width : deviceWidth/3, 
height : deviceHeight/3 

静的に与えられた高さと幅の代わりに。 あなたはあなたの要求に応じて身長と幅を与えることができます。

ご理解いただきますようお願い申し上げます。

var deviceWidth = Dimensions.get('window').width; 
+0

はい、この作品ですが、私はイメージサイズがビューサイズに合っていることを望んでいたので、イメージは電話画面のサイズに応じて変更する必要があります。 – brenoxp

+0

私はview.widthサイズを取得して、イメージを自分が望むサイズにとどめるように数学を作っていますが、正しい方法ではないと思います。 – brenoxp

+0

こんにちはbrenoxp、私は私の答えを更新します。これはあなたを助けるかもしれないことを願っています。 :) –

0

<View style={{flex: 2}}/>をお試しください。この空のビューはflex='row'と同じ行にあり、テキストが画面全体に広がらないようにしています。

+0

実際には私はちょうど右のコンテンツのサイズをシミュレートする空のコンポーネントを作成しています。私の問題は、それが内部にあるビューに合ったイメージサイズです。 – brenoxp

関連する問題