0

今、私はこれを行います:

    if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
        actionBar.removeAllTabs();

    } else {  // other stuff to do 

    }

ただし、これが当てはまるのは、10インチ以上のタブレットまたはXLargeの場合のみです。7インチではありません(Nexus 7など)。7インチを電話と同じレイアウトにします。このチェックを実際に行うことはできますか?

4

2 に答える 2

3

コードでこれを行うのを避け、代わりに、定義されたレイアウトのリソース修飾フォルダーをsw720dp作成する必要があります(つまり、の下に10インチのレイアウトを作成する必要があります)。および修飾子res/layout-sw720dpの使用を避け、使用可能な密度に依存しないピクセルの数に依存します。 。largexlarge

詳細については、マルチスクリーンのサポートに関するこのセクションを参照してください。

于 2012-12-15T01:24:17.023 に答える
2

に置き換えSCREENLAYOUT_SIZE_LARGEますSCREENLAYOUT_SIZE_XLARGE

if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE) {
    /* implementation */
}

可能であれば、非推奨の修飾子と修飾子の使用を避けlargexlarge新しいsw<N>dp修飾子を使用してください。ただし、ターゲットオーディエンスとプラットフォームによっては、古いアプローチ、または場合によっては両方の組み合わせに依存する必要がある場合があります。

于 2012-12-15T01:29:22.903 に答える