برای تشخیص نوع صفحه نمایش (samll , normal , large , xlarge) و دریافت اندازه دقیق طول و عرض گوشی باید از 2 متد استفاده کنید.
دریافت طول و عرض گوشی :
public static int[] getScreenSize(Activity activity) {
int[] ints = new int[2];
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
ints[0] = displayMetrics.heightPixels;
ints[1] = displayMetrics.widthPixels;
return ints;
}
تشخیص نوع صفحه نمایش :
public static int getScreenModel(Context context , int small , int normal, int large , int xlarge) {
if (context == null) {
return 1;
}
int screenSize = context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
switch (screenSize) {
case Configuration.SCREENLAYOUT_SIZE_XLARGE:
return xlarge;
case Configuration.SCREENLAYOUT_SIZE_LARGE:
return large;
case Configuration.SCREENLAYOUT_SIZE_NORMAL:
return normal;
case Configuration.SCREENLAYOUT_SIZE_SMALL:
return small;
default:
return normal;
}
}
در هنگام استفاده از متد getScreenModel باید مقدار samll , normal , large , xlarge را یک عدد پیشفرض بزارین ، و در بازگشت همان عدد را دریافت میکنید .
getScreenModel(getApplicationContext(), 1, 2, 3, 4)
اگر گوشی 5 اینچ داشته باشد ، عدد 2 را در خروجی متد دریافت میکند.
نظرات (۲)
علیرضا مقدم
چهارشنبه ۱۱ فروردين ۰۰ , ۱۵:۱۳درود و سپاس
علیرضا مقدم
چهارشنبه ۱۱ فروردين ۰۰ , ۱۵:۲۰درود.
برای این کدها import مورد نیاز است از برنامه AIDE در اندروید استفاده میکنم.