Aqlier/ 3月 22, 2019/ Android

Android アプリの開発で、少し厄介なことが画面に関するUIになります。
iOS開発では大きく分けて、iPhone/iPadだけを考えていればいいと思いますが、Android端末では、複数画面仕様が多岐に渡っているので考慮が必要になります。

よくAndroid機種で画面サイズを謳った広告がありますが、開発時はあまり関係ないかと思われます。
画面UIを製作する上で、画面幅と画面密度にポイントを置いておくことが必要です。

画面幅は、240、480、720、1080、1440などあり、同じアプリでも画一的に制作すると、おかしな画面UIとなってしまうので、サイズに関して考慮が必要です。アプリ仕様によっては、サポート不可能なサイズもあると言えます。

また、画面密度も異なるので、画面幅以外にも注意点が必要です。

同じ仕様で画面表示すると…。
800 × 1280 mdpi

720 × 1280 xhdpi

画面サイズと密度の判定方法

  //ディスプレイサイズ取得
        WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
        // ディスプレイのインスタンス生成
        Display disp = wm.getDefaultDisplay();
        Point size = new Point();
        disp.getSize(size);
      
        float scale = getResources().getDisplayMetrics().density; //画面密度

 if ((size.x == 800) &&(scale == 1)){   //画面幅800 画面密度1
//画面レイアウト設計
}
if ((size.x == 720) &&(scale == 2)){   //画面幅720 画面密度2
//画面レイアウト設計
}
if ((size.x == 1080)&&(scale >=2.6)){ //画面幅1080 画面密度2.6
//画面レイアウト設計
}