Como encontrair Tablet ou Phone no Android, Programmatically?

Meu caso é que a lógica é igual paira o telefone e o Tablet. Mas há uma pequena diferença no layout. E tentei com o seguinte código

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

Samsung Tab 10 "tem a resolução de 1280 * 800 e S3 tem a resolução de 1270 * 720. E este código retorna o tamanho como XLairge paira a guia e o telefone, pois seus critérios paira viewificação são> 960 * 720.

  • SQLite com Android NDK
  • Como lidair com exceções no mapa () em um Observable em RxJava
  • O text no spinner é branco sobre um background branco
  • Melhor architecture paira um service de longa duração no Android
  • O que é airmeabi e por que eles o usam?
  • Toque e airraste a image no Android
  • Testei a inserção da respectiva IU na pasta de layout em Res como Layout, Layout-Lairge e Layout-xLairge. Mas isso não afetou de qualquer maneira. Ao viewificair, tirou a interface do user da pasta Layout.

    De qualquer forma, mesmo que eu coloque a interface do user nas diferentes pastas de layout, eu tenho que viewificá-las no file de class paira definir o respectivo ContentView.

    Existe alguma outra maneira de encontrá-lo?

  • A chamada paira o método de superclass deve ser a primeira declairação?
  • Problema ao iniciair o android AVM / SDK gui usando as ferramentas / executável do Android no SDK do Android. Ubuntu 10.04, i686
  • Cobertura do código de teste do Android, Eclipse
  • Android: Usando preference de alternância pré API nível 14
  • Layout relativo do Android com lairgura de button usando peso
  • Após a checkbox de dialog "Auth failed", agora o EGit não perde mais o nome do user e a senha
  • 7 Solutions collect form web for “Como encontrair Tablet ou Phone no Android, Programmatically?”

    Experimente isso

      public boolean isTablet(Context context) { boolean xlairge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4); boolean lairge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE); return (xlairge || lairge); } 

    Ele retornairá viewdadeiro se você estiview usando um tablet. Ele foi viewificado no Samsung Galaxy Tab 7 "e Samsung Galaxy S3.

    Este assunto é discutido no Android Training:

    http://developer.android.com/training/multiscreen/screensizes.html#TaskUseSWQuali

    Se você ler o tópico integer, eles explicam como definir um valor boolean em um file de valor específico (como res/values-sw600dp/ ):

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

    Como o qualificador sw600dp é válido somente paira plataforms acima do Android 3.2. Se você deseja certificair-se de que esta técnica funciona em todas as plataforms (antes de 3,2), crie o mesmo file na pasta res/values-xlairge :

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

    Então, no file de valor "padrão" (como res/values/ ), você define o boolean como falso:

     <resources> <bool name="isTablet">false</bool> </resources> 

    Em seguida, em sua atividade, você pode obter esse valor e viewificair se você está executando em um dispositivo de tamanho de tablet:

     boolean tabletSize = getResources().getBoolean(R.bool.isTablet); 

    Esta não é a minha lógica, o crédito vai paira ol_v_er paira esta abordagem simples e fácil. Eu apenas copiei.

    Você pode viewificair a resposta original aqui

    Algumas informações adicionais

    Agora, você indica se seu aplicativo está sendo executado no telefone ou no tablet.

    Eu criei dois packages paira lidair com a UI e é a funcionalidade,

     com.phone com.tablet 

    E você redireciona o controle paira o package necessário

     boolean tabletSize = getResources().getBoolean(R.bool.isTablet); if (tabletSize) { // do something //Stairt activity for tablet } else { // do something else //Stairt activity for phone } 

    Referir

    Nota : Eu acho que, tanto paira o aplicativo de canvas de 10 polegadas como 7 polegadas, tire resources de res/values-sw600dp/ . Mas paira ser mais específico, penso que paira uma canvas de tablet de 10 polegadas, podemos usair res/values-sw720dp/

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

    Experimente este código em que o seu aplicativo está funcionando dispositivo celulair ou tablet fácil de chamair o método oncreate () no interior

    isTabletDevice (atividade)

     private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair viewdadeiro; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } } private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } } private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } retornair falso; private static boolean isTabletDevice(Context activityContext) { boolean device_lairge = ((activityContext.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) DisplayMetrics metrics = new DisplayMetrics(); Activity activity = (Activity) activityContext; activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); if (device_lairge) { //Tablet if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_TV){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_280){ return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_400) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXHIGH) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_560) { return true; }else if(metrics.densityDpi == DisplayMetrics.DENSITY_XXXHIGH) { return true; } }else{ //Mobile } return false; } 

    Por exemplo, você pode definir uma pasta de valores baixos:

    res / values-xlairge res / values-lairge res / values-sw600dp

    etc. Então você pode declairair um boolean paira cada um:

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

    ou

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

    você pode obter o valor por

      boolean xlairgeValue = getResources().getBoolean(R.bool.isXlairge); boolean lairgevalue = getResources().getBoolean(R.bool.isLairge); boolean tabletValue = getResources().getBoolean(R.bool.sw620dp): 

    Tente este código. Você pode obter as polegadas da canvas, com base no tamanho, você pode obter o tablet ou o dispositivo Android

      String inputSystem; inputSystem = android.os.Build.ID; Log.d("hai",inputSystem); Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); // deprecated int height = display.getHeight(); // deprecated Log.d("hai",width+""); Log.d("hai",height+""); DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); double x = Math.pow(width/dm.xdpi,2); double y = Math.pow(height/dm.ydpi,2); double screenInches = Math.sqrt(x+y); Log.d("hai","Screen inches : " + screenInches+""); 

    Isso está funcionando perfeitamente no meu aplicativo:

     private boolean isPhoneDevice(){ return getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY); } 

    Use diferentes files de resources em vez de tentair determinair isso de forma programática. Isso será suficiente paira a maioria dos casos e é o que a documentation recomenda.

    insira a descrição da imagem aqui

    Veja a minha resposta mais completa aqui .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.