0

すべてのデバイスと OS (2.2-latest) について、デバイスがタブレットかハンドセットかをプログラムで確認する方法。

4

3 に答える 3

0

道はない。res/values 内にブール値を設定できます

<bool name="isHandest">false</bool>

内部values-sw600dpvalues-sw720dpおよびvalues-xlarge

<bool name="isHandest">true</bool>

res/values

于 2013-06-02T13:03:14.777 に答える
0

最小幅修飾子を使用します。

Smallest-width 修飾子を使用すると、dp で指定された特定の最小幅を持つ画面をターゲットにすることができます。たとえば、一般的な 7 インチ タブレットの最小幅は 600 dp であるため、UI にそれらの画面に 2 つのペインを表示する (ただし、小さい画面では 1 つのリストを表示する) 場合は、前のセクションと同じ 2 つのレイアウトを使用できます。単一および 2 ペイン レイアウトの場合。ただし、大きなサイズの修飾子の代わりに、sw600dp を使用して、最小幅が 600 dp の画面用の 2 ペイン レイアウトであることを示します。

これらのフォルダーで、さまざまなレイアウトを使用したり、ブール値を設定したりできます。

<resources>
    <bool name="is_tablet">true</bool>
</resources>

公式ドキュメントから: http://developer.android.com/training/multiscreen/screensizes.html

于 2013-06-02T13:05:23.200 に答える
-1

タブレットを 7 インチより大きい画面のデバイスとして定義する場合

public static boolean isTablet() {
    return screenSize >= 7;
}

public static double getScreenSize(Activity activity){
    DisplayMetrics dm = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
    double x = Math.pow(dm.widthPixels/dm.xdpi,2);
    double y = Math.pow(dm.heightPixels/dm.ydpi,2);
    screenSize = Math.sqrt(x+y);        
    return screenSize;
}
于 2013-06-02T13:03:05.860 に答える