怎样获取Android手机屏幕的大小
5个回答
推荐于2016-06-29 · 知道合伙人软件行家
关注
展开全部
下面的代码即可获取屏幕的尺寸:
在一个Activity的onCreate方法中,编写以下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 宽度(PX)
int height = metric.heightPixels; // 高度(PX)
float density = metric.density; // 密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)
需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。
比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。
因此,研究之后发现,若没有设定多分辨率支持的话,
Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,
这样的话就大大影响了程序的编码。
所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下:
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
public static String getDisplayMetrics(Context cx) {
String str = "";
DisplayMetrics dm = new DisplayMetrics();
dm = cx.getApplicationContext().getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
float density = dm.density;
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
str += "The absolute width:" + String.valueOf(screenWidth) + "pixels\n";
str += "The absolute heightin:" + String.valueOf(screenHeight)
+ "pixels\n";
str += "The logical density of the display.:" + String.valueOf(density)
+ "\n";
str += "X dimension :" + String.valueOf(xdpi) + "pixels per inch\n";
str += "Y dimension :" + String.valueOf(ydpi) + "pixels per inch\n";
return str;
}
Android 在代码中设置屏幕属性(全屏、无标题)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //设置没有标题
在一个Activity的onCreate方法中,编写以下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 宽度(PX)
int height = metric.heightPixels; // 高度(PX)
float density = metric.density; // 密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)
需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。
比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。
因此,研究之后发现,若没有设定多分辨率支持的话,
Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,
这样的话就大大影响了程序的编码。
所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下:
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
public static String getDisplayMetrics(Context cx) {
String str = "";
DisplayMetrics dm = new DisplayMetrics();
dm = cx.getApplicationContext().getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
float density = dm.density;
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
str += "The absolute width:" + String.valueOf(screenWidth) + "pixels\n";
str += "The absolute heightin:" + String.valueOf(screenHeight)
+ "pixels\n";
str += "The logical density of the display.:" + String.valueOf(density)
+ "\n";
str += "X dimension :" + String.valueOf(xdpi) + "pixels per inch\n";
str += "Y dimension :" + String.valueOf(ydpi) + "pixels per inch\n";
return str;
}
Android 在代码中设置屏幕属性(全屏、无标题)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //设置没有标题
2015-01-09
展开全部
屏幕大小指的是显示屏的对角线,你想知道手机的具体参数,可以在中关村在线搜索你手机的型号,可以得知手机的参数,还有可以目测,目前5s和6都是常见机型,分别为4英寸,4.7英寸,你可以用安卓手机比较。如今,安卓旗舰普遍已经达到了5英寸以上的大屏幕
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以下载鲁大师安卓版测试 或者可以直接用刻度尺量呀 量到的是厘米除以2.54就是 我们说的英寸 常说的几寸 几寸咯
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下载个安兔兔测试一下,或者上中关村查一下手机型号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度手机型号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询