私のアプリは、5 インチ未満の携帯電話と 7 インチより大きいタブレットで問題なく動作しますが、5 インチから 7 インチ (ファブレット) の間の灰色の領域が問題になります。私のアプリでは、次のようにしてデバイスがタブレットかどうかをプログラムで確認します。
int screenSize = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
if (screenSize == Configuration.SCREENLAYOUT_SIZE_LARGE) {
// for tablets
}
このサイズ チェックを使用するのは、私のアプリは電話での使用とは異なることを行うためです。同様に、アクティビティ/フラグメントのレイアウトには、携帯電話用とタブレット用の 2 つのバージョンがあります。タブレット用のものは、values/layout-sw600dp フォルダーに保存し、スマートフォンのレイアウトは values/layout に保存します。残念ながら、5.4 インチ画面と 6 インチ画面でテストする場合、アプリはデバイスに電話レイアウトではなくタブレット レイアウトを割り当てます。
デバイスの画面サイズの物理的な対角寸法をプログラムで確認する方法はありますか? 具体的には 5 インチのデバイス向けですか?