2017-08-11 6 views

答えて

1

@Dani Akashのおかげで、私がここでやろうとしているところでうまくいくソリューションが見つけられたと思います。 React Native: How to Determine if Device is iPhone or iPad

アスペクト比を使用してタブレットであるかどうかを判断することを提案しました。

import { Dimensions } from 'react-native'; 
const {height, width} = Dimensions.get('window'); 
const aspectRatio = height/width; 

if(aspectRatio>1.6) { 

    // Code for Iphone 

} 
else { 

    // Code for Ipad 

} 
0

反応固有幅の単位&高さがで、通常のピクセルではないです。

なぜ使用density-independent pixels

スマートフォンデバイスのサイズが多すぎます。コンポーネントは画面の大きさに関係なく同じに見えるはずです。この方法は、 関係なく、常に画面 寸法の、正確に同じサイズで描画する必要のあるコンポーネントに共通の寸法を設定

ほとんどの場合、Layout with Flexboxを使用できます。

+0

私がしようとしているのは、ユーザーがiPhoneまたはiPadを使用しているかどうかに応じてレイアウトを反応させることです。デバイスに応じて列から行へのフレックスの方向を変更するだけで、よりフィットします。これを行う方法ではないでしょうか? – Oliver84

0

は、私は、これは事実の後で知っているが、あなたはまた、isTablet()メソッドを持っているreact-native-device-infoを、使用することができます。あなたが使用しているRNのバージョンはわかりませんが、Dimensions.get( 'window')は正常に動作するはずです。問題はあなたが 'window'ではなく 'screen'を使っていたかもしれないと思います。

+0

私はipadデバイス上で自分のコードをテストし、 'Dimensions.get(" window ")'(screen btwと同じ結果)を使って320 x 480を取得します。 – AlainIb

関連する問題