2016-07-01 7 views

答えて

1
int width | height = getResources().getDisplayMetrics().widthPixels | heightPixels 

や活動の外:

context.getResources().getDisplayMetrics().widthPixels | heightPixels 
0

あなたはすべてのデバイスの密度を持つすべての画面を再生したい場合は、これを試してみてください。..

 import android.content.Context; 
    import android.content.res.Configuration; 
    import android.util.DisplayMetrics; 

    public class DensitySizePlay{ 




    public static int FunctionCall(Context context) { 
    int value = 12; 
    String str = ""; 
    if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "small-ldpi"; 
      value = 10; 

     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "small-mdpi"; 
      value = 10; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "small-hdpi"; 
      value = 10; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "small-xhdpi"; 
      value = 10; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "small-xxhdpi"; 
      value = 10; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "small-xxxhdpi"; 
      value = 10; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "small-tvdpi"; 
      value = 10; 
      break; 
     default: 
      str = "small-unknown"; 
      value = 10; 
      break; 
     } 

    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "normal-ldpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "normal-mdpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "normal-hdpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "normal-xhdpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "normal-xxhdpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "normal-xxxhdpi"; 
      value = 11; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "normal-tvdpi"; 
      value = 11; 
      break; 
     default: 
      str = "normal-unknown"; 
      value = 11; 
      break; 
     } 
    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "large-ldpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "large-mdpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "large-hdpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "large-xhdpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "large-xxhdpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "large-xxxhdpi"; 
      value = 12; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "large-tvdpi"; 
      value = 12; 
      break; 
     default: 
      str = "large-unknown"; 
      value = 12; 
      break; 
     } 

    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "xlarge-ldpi"; 
      value = 14; 

      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "xlarge-mdpi"; 
      value = 14; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "xlarge-hdpi"; 
      value = 14; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "xlarge-xhdpi"; 
      value = 14; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "xlarge-xxhdpi"; 
      value = 14; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "xlarge-xxxhdpi"; 
      value = 14; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "xlarge-tvdpi"; 
      value = 14; 
      break; 
     default: 
      str = "xlarge-unknown"; 
      value = 14; 
      break; 
     } 
    } 


    return value; 
    } 

    public static int TextviewBig(Context context) { 
    int value = 15; 
    String str = ""; 
    if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "small-ldpi"; 
      value = 22; 

     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "small-mdpi"; 
      value = 22; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "small-hdpi"; 
      value = 22; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "small-xhdpi"; 
      value = 22; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "small-xxhdpi"; 
      value = 22; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "small-xxxhdpi"; 
      value = 22; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "small-tvdpi"; 
      value = 22; 
      break; 
     default: 
      str = "small-unknown"; 
      value = 22; 
      break; 
     } 

    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "normal-ldpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "normal-mdpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "normal-hdpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "normal-xhdpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "normal-xxhdpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "normal-xxxhdpi"; 
      value = 24; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "normal-tvdpi"; 
      value = 24; 
      break; 
     default: 
      str = "normal-unknown"; 
      value = 24; 
      break; 
     } 
    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "large-ldpi"; 
      value = 27; 
      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "large-mdpi"; 
      value = 26; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "large-hdpi"; 
      value = 27; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "large-xhdpi"; 
      value = 27; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "large-xxhdpi"; 
      value = 27; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "large-xxxhdpi"; 
      value = 27; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "large-tvdpi"; 
      value = 27; 
      break; 
     default: 
      str = "large-unknown"; 
      value = 27; 
      break; 
     } 

    } else if ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE) { 
     switch (context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      str = "xlarge-ldpi"; 
      value = 30; 

      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      str = "xlarge-mdpi"; 
      value = 30; 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      str = "xlarge-hdpi"; 
      value = 30; 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      str = "xlarge-xhdpi"; 
      value = 30; 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      str = "xlarge-xxhdpi"; 
      value = 30; 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      str = "xlarge-xxxhdpi"; 
      value = 30; 
      break; 
     case DisplayMetrics.DENSITY_TV: 
      str = "xlarge-tvdpi"; 
      value = 30; 
      break; 
     default: 
      str = "xlarge-unknown"; 
      value = 30; 
      break; 
     } 
    } 


    return value; 
    } 

    } 
0

これは役立つかもしれない希望。

DisplayMetrics metrics=getResources().getDisplayMetrics(); 
float screenWidth = metrics.widthPixels/metrics.density; 
float screenHeight = metrics.heightPixels/metrics.density; 
float dpi=metrics.density; 

Configuration configuration=getApplicationContext().getResources().getConfiguration(); 
int screenWidthInDp = configuration.screenWidthDp; 
int smallestScreenWidthInDp = configuration.smallestScreenWidthDp; 
関連する問題