获取分辨率 尺寸、样式

尺寸:
px:屏幕像素
 
in:物理英寸
 
pt或pts:物理点(磅),文件信息多用磅值来进行描述,磅的尺寸大小是固定的,这样就可以保证用磅值描述的文本信息在不同的设备上显示的大小一致。
mm:物理毫米
dp或dip:相对于160-dpi(dots per inch)的屏幕的非密度制约的像素,也称“分辨率无关像素”
sp:缩放比例无关(scale-independent)的像素,多用于需要精确控制分辨率的场合,经如显示文本信息时。
样式:
<?xml version="1.0" encoding="utf-8"?>
<resource>
	<style name="BaseText">
		<item name="android:textSize">14sp</item>
		<item name="android:textColor">#111</item>
	</style>
	<style name="SmallText" parent="BaseText">
		<item name="android:textSize">8sp</item>
	</style>
</resource>
<style name="SmallText" parent="BaseText">parent属性继承BaseText
 

一、获取分辨率

        使用getSize() 办法

[java]  view plain copy
  1. Display display = getWindowManager().getDefaultDisplay();  
  2. Point size = new Point();  
  3. display.getSize(size);  
  4. int width = size.x;  
  5. int height = size.y;  
        如果不在 Activity 内可以通过 WINDOW_SERVICE 来获取 Display 对象  
[java]  view plain copy
  1. WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);  
  2. Display display = wm.getDefaultDisplay();  

        使用DisplayMetrics 对象来获取

[java]  view plain copy
  1. DisplayMetrics dm = new DisplayMetrics();  
  2. getWindowManager().getDefaultDisplay().getMetrics(dm);  
  3. int width = dm.widthPixels;  
  4. int height = dm.heightPixels;  

二、虚拟按键的情况下获取物理分辨率        如果是4.0以上的系统,而且屏幕是带有虚拟按键的上面的代码获取的屏幕分辨率是除去虚拟按键以外的,在有虚拟按键情况下比如分辨率是:800×480 ,上面代码获取的是:480×728。那在带有虚拟按键的情况下如何获取真正的分辨率,可以使用display.getRealSize()  
[java]  view plain copy
  1. Display display = getWindowManager().getDefaultDisplay();  
  2. Point outSize = new Point();  
  3. display.getRealSize(outSize);  
  4. int width = outSize.x;  
  5. int height = outSize.y;  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值