android设备计算密度,宽高!
16lz
2022-07-23
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.util.DisplayMetrics;
- publicclassMainActivityextendsActivity{
- //屏幕的宽高,单位像素
- privateintscreenWidth;
- privateintscreenHeight;
- //屏幕的密度
- privatefloatdensity;//只有五种情况:0.75/1.0/1.5/2.0/3.0
- privateintdensityDpi;//只有五种情况:120/160/240/320/480
- //水平垂直精确密度
- privatefloatxdpi;//水平方向上的准确密度,即每英寸的像素点
- privatefloatydpi;//垂直方向上的准确密度,即没音村的像素点
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //getPixelWindowManager();
- //getPixelDisplayMetrics();
- getPixelDisplayMetricsII();
- System.out.println("宽:"+screenWidth+",高:"+screenHeight);
- System.out.println("密度density:"+density+",densityDpi:"+densityDpi);
- System.out.println("精确密度xdpi:"+xdpi+",ydpi:"+ydpi);
- }
- privatevoidgetPixelWindowManager(){
- screenWidth=getWindowManager().getDefaultDisplay().getWidth();
- screenHeight=getWindowManager().getDefaultDisplay().getHeight();
- }
- privatevoidgetPixelDisplayMetrics(){
- DisplayMetricsdm=newDisplayMetrics();
- dm=getResources().getDisplayMetrics();
- screenWidth=dm.widthPixels;
- screenHeight=dm.heightPixels;
- density=dm.density;
- densityDpi=dm.densityDpi;
- xdpi=dm.xdpi;
- ydpi=dm.ydpi;
- }
- privatevoidgetPixelDisplayMetricsII(){
- DisplayMetricsdm=newDisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(dm);
- screenWidth=dm.widthPixels;
- screenHeight=dm.heightPixels;
- density=dm.density;
- densityDpi=dm.densityDpi;
- xdpi=dm.xdpi;
- ydpi=dm.ydpi;
- }
- }
更多相关文章
- Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
- android 分辨率及密度详细
- Android中的尺寸单位
- android camera(一):camera模组CMM介绍
- android 分辨率及密度详细
- android camera(一):camera模组CMM介绍
- android避免decodeResource图片时占用太大的内存。
- android工具详解
- Android(安卓)-- DisplayMetrics