Android 获取屏幕信息

本文介绍了两种在Android中获取屏幕信息的方法:一是通过WindowManager在Activity中获取;二是使用Resources,该方法适用于Application和Activity的Context。详细阐述了这两种方式的适用场景。
//获得手机的宽度和高度像素单位为px

// 通过WindowManager获取  

       //必须在Activity中获取,即使使用Context 也必须强转为Activity

public void getScreenDensity_ByWindowManager(){
DisplayMetrics mDisplayMetrics = new DisplayMetrics();//屏幕分辨率容器
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int width = mDisplayMetrics.widthPixels;
int height = mDisplayMetrics.heightPixels;
float density = mDisplayMetrics.density;
int densityDpi = mDisplayMetrics.densityDpi;
Log.d(TAG,"Screen Ratio: ["+width+"x"+height+"],density="+density+",densityDpi="+densityDpi);
Log.d(TAG,"Screen mDisplayMetrics: "+mDisplayMetrics);

}



// 通过Resources获取  

       // 不需要在Activity中使用, Application 和Activity中的Context 均可以使用此函数

public void getScreenDensity_ByResources(){
DisplayMetrics mDisplayMetrics = getResources().getDisplayMetrics();  
int width = mDisplayMetrics.widthPixels;
int height = mDisplayMetrics.heightPixels;
float density = mDisplayMetrics.density;
int densityDpi = mDisplayMetrics.densityDpi;
Log.d(TAG,"Screen Ratio: ["+width+"x"+height+"],density="+density+",densityDpi="+densityDpi);
Log.d(TAG,"Screen mDisplayMetrics: "+mDisplayMetrics);

}
// 获取屏幕的默认分辨率  
public void getDefaultScreenDensity(){
Display mDisplay = getWindowManager().getDefaultDisplay();  
int width = mDisplay.getWidth();
int height = mDisplay.getHeight();
Log.d(TAG,"Screen Default Ratio: ["+width+"x"+height+"]");
Log.d(TAG,"Screen mDisplay: "+mDisplay);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值