Android中如何获得手机的宽高?

缇娜 2015-10-15 10:51:17
如题:Android中如何获得手机的宽高? 例如iPhone4手机的宽和高。比如320x480这种数据。谢谢了
...全文
238 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luosiye312 2015-10-15
  • 打赏
  • 举报
回复
变通一下可好。
public static String getScreenParam(Activity activity){
		DisplayMetrics displayMetrics = new DisplayMetrics();
		activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
		return displayMetrics.widthPixels+"x"+displayMetrics.heightPixels;
	}
缇娜 2015-10-15
  • 打赏
  • 举报
回复
引用 1 楼 xi923 的回复:
DisplayMetrics display= new DisplayMetrics(); display.heightPixels 就是你的分辨率的高度,宽度同理 DisplayMetrics 内面成员变量就有分辨率,密度等数据
我不是想要分辨率,我也试过 DisplayMetrics dm = new DisplayMetrics(); dm = this.getApplicationContext().getResources().getDisplayMetrics(); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; 但是screenWidth这个输出的是分辨率720,我想要的是320x480,也就是手机4.3英寸的宽和高
一袭白衣 2015-10-15
  • 打赏
  • 举报
回复
DisplayMetrics display= new DisplayMetrics(); display.heightPixels 就是你的分辨率的高度,宽度同理 DisplayMetrics 内面成员变量就有分辨率,密度等数据
一袭白衣 2015-10-15
  • 打赏
  • 举报
回复
最后手机的宽高,密度, 在设备造出来之后,都是可以用工具去测,去量的, 比如所谓的分辨率,就是像素点,你可以挨个去数你的屏幕上的格子 而密度是算出来的,像素点 + 尺寸 (4.3寸,3.9寸)这也是用尺可以量出来的。
一袭白衣 2015-10-15
  • 打赏
  • 举报
回复
引用 2 楼 u013256267 的回复:
[quote=引用 1 楼 xi923 的回复:] DisplayMetrics display= new DisplayMetrics(); display.heightPixels 就是你的分辨率的高度,宽度同理 DisplayMetrics 内面成员变量就有分辨率,密度等数据
我不是想要分辨率,我也试过 DisplayMetrics dm = new DisplayMetrics(); dm = this.getApplicationContext().getResources().getDisplayMetrics(); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; 但是screenWidth这个输出的是分辨率720,我想要的是320x480,也就是手机4.3英寸的宽和高[/quote] 我想你应该弄错一点 这里输出的是【设备 Device】本身的属性值, 是描述设备的固有属性 不是想获得哪个就是哪个的 如果你想要获得自己想要的320X160,你要去改底层的数据, 或者是反射进去改成员变量 我曾经有反射改过 density {密度),修改这些是为了用模拟器测试程序
网络咖啡 2015-10-15
  • 打赏
  • 举报
回复
320x480本身就是像素,实际的屏幕大小都是用4寸、5寸这样的对角线长度表达的
gfy65402655 2015-10-15
  • 打赏
  • 举报
回复
/** * 获得屏幕高度 * * @param context * @return */ public static int getScreenWidth(Context context) { WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); return outMetrics.widthPixels; } /** * 获得屏幕宽度 * * @param context * @return */ public static int getScreenHeight(Context context) { WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); return outMetrics.heightPixels; }
缇娜 2015-10-15
  • 打赏
  • 举报
回复
引用 3 楼 luosiye312 的回复:
变通一下可好。
public static String getScreenParam(Activity activity){
		DisplayMetrics displayMetrics = new DisplayMetrics();
		activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
		return displayMetrics.widthPixels+"x"+displayMetrics.heightPixels;
	}
还是不可以,返回的还是720x1280,还是分辨率

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧