Как обнаруживать Таблет Андроид в Java?

Есть какой-то способ обнаруживать, что app прокрутил изображение в окне в Tabletили в Smartphone?

До настоящего времени я это делаю обнаруживая ширину pixeles, но я нахожусь спектр Samsung Galaxy S3, S4..., у которого есть больше разрешение, чем tablet и он не является оптимальным.

7
задан 17.04.2016, 18:54
1 ответ

Забудь обнаружить у тебя ширину пикселей или сосредоточенность, это mГ©todo тот, которого я использую, и это предложенный google:

public static boolean esTablet(Context context) {
    return (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

Добавочный info: http://developer.android.com/reference/android/content/res/Configuration.html#screenLayout

public void deterScreenSize() {

    if((getResources().getConfiguration().screenLayout &
        Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {   

        Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show();

    }else if ((getResources().getConfiguration().screenLayout & 
               Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {   

        Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_LONG).show();

    }else if ((getResources().getConfiguration().screenLayout &
               Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {    

        Toast.makeText(this, "Small sized screen" , Toast.LENGTH_LONG).show();

    }else if ((getResources().getConfiguration().screenLayout & 
               Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE) {     

        Toast.makeText(this, "XLarge sized screen" , Toast.LENGTH_LONG).show();

    }else {
        Toast.makeText(this, "El tamaño de la pantalla no es ni X grande, ni grande, ni normal o pequeña" , Toast.LENGTH_LONG).show();
    }
}
7
ответ дан 24.11.2019, 14:34

Теги

Похожие вопросы