android获取设备分辨率问题,求教高手

android获取设备分辨率问题,求教高手,第1张

以下。

//获取屏幕宽度

import androidcontentContext;

import androidutilDisplayMetrics;

    public static int ScreenWidth(Context c){

        DisplayMetrics v0 = new DisplayMetrics();

        cgetWindowManager()getDefaultDisplay()getMetrics(v0);

        return v0widthPixels;

    }//获取屏幕高度

import androidcontentContext;

import androidutilDisplayMetrics;

    public static int ScreenHeight(Context c){

        DisplayMetrics v0 = new DisplayMetrics();

        cgetWindowManager()getDefaultDisplay()getMetrics(v0);

        return v0heightPixels;

    }//获取通知栏高度

import androidcontentContext;

    public static int StatusBarHeight(Context c){

        int i=0;

        try{

            Class v0 = ClassforName("comandroidinternalR$dimen");

            i = cgetResources()getDimensionPixelSize(IntegerparseInt(v0getField("status_bar_height")get(v0newInstance())toString()));

        }catch(Exception e){}

        return i;

    }//获取底部虚拟键高度

import androidviewWindowManager;

import androidviewDisplay;

import androidcontentContext;

import androidutilDisplayMetrics;

import javalangreflectMethod;

    public static int VirtualKeyHeight(Context context){

        return getDpi(context) - getScreenHeight(context);

    }public static int getDpi(Context context){

        int dpi = 0;

        DisplayMetrics dM = new DisplayMetrics();

        @SuppressWarnings("rawtypes")

        Class c;

        try {

            c = ClassforName("androidviewDisplay");

            @SuppressWarnings("unchecked")

            Method method = cgetMethod("getRealMetrics",DisplayMetricsclass);

            methodinvoke(/</((WindowManager)contextgetSystemService(ContextWINDOW_SERVICE))getDefaultDisplay()/>/, dM);

            dpi=dMheightPixels;

        }catch(Exception e){

            eprintStackTrace();

        }

        return dpi;

    }public static int getScreenHeight(Context context){

        DisplayMetrics outMetrics = new DisplayMetrics();

        ((WindowManager)contextgetSystemService(ContextWINDOW_SERVICE))getDefaultDisplay()getMetrics(outMetrics);

        return outMetricsheightPixels;

    }

手机里css1个像素等于2个物理像素,写成min-width、max-width,400px已经算是极致了,它指手机浏览器的分辨率,而不是手机设备的屏幕分辨率

可以试试320、360、384、400这几个临界点

1不添加相应的话,审核过不了

例如"As of May 1, all new iPhone apps and app

updates submitted must support the 4-inch display on iPhone 5 All apps

must include a launch image of the appropriate size Learn more about

iPhone 5 support by reviewing the iOS Human Interface Guidelines"

2只有480的话,屏幕上下自动补黑条

3原理:

由于5,5s上市时,需要兼容之前版本的App,同时要减少适配的开发成本最后就出了唯一的一个判断标准:如果有相应设备尺寸的开机图,系统就当你这个App针对新设备做过适配,否则就按照480x320来算

后来出了6,6p就沿用了同样的适配规则

以上就是关于android获取设备分辨率问题,求教高手全部的内容,包括:android获取设备分辨率问题,求教高手、CSS3媒体查询(Media Queries)中device-width是获取手机设备的设备独立像素还是物理像素求解!!!、为什么我每次获取的屏幕高度都是480宽度都是320等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9573313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存