美文网首页
屏幕适配

屏幕适配

作者: 不改初心丶 | 来源:发表于2017-10-18 10:46 被阅读0次

    屏幕适配

    1 . 一些值得注意到事项

    • 首先在安卓代码中,写死的数值都是px值,需要转化为dp值。
    • 控件的长度使用dp,字体大小使用sp。
    • 人眼看到的是大小和dp长度一样,dp一样,那么人眼看到的大小是一样的。

    2 . 申请一个dp长度

    (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, num, getResources().getDisplayMetrics());
    

    3 .关于高清屏图片缩小问题答:new BitmapDrawable(getResources(),图片SD路径);BitmapFactory.decodeFile(loc);上两种方法读取图片读取的图片为图片实际像素点(px),展示时候需要放大【目标屏幕密度/标准密度】倍数,
    不要使用new BitmapDrawable(Bitmap对象),这样会缩小【目标屏幕密度/标准密度】倍的图片,应该使用new BitmapDrawable(getResources(),Bitmap对象)

    public Bitmap getBitMap(String loc) {
            Bitmap bitmap = BitmapFactory.decodeFile(loc);
            if (bitmap == null) {
                return null;
            }
            int width = bitmap.getWidth();
            int height = bitmap.getHeight();
            Matrix matrix = new Matrix();   // 创建操作图片用的Matrix对象
            float rate = getApplicationContext().getResources().getDisplayMetrics().density;
            matrix.postScale(rate, rate);         // 设置缩放比例
            Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height,
                    matrix, true);
            return newbmp;
        }
    

    4.获取屏幕分辨率的大小

    DisplayMetrics metrics = new DisplayMetrics();
      Display display = activity.getwindowManager().getDefaultDisplay();
      display.getMetrics(metrics);
    

    这种方式获取屏幕宽高比较好

    5.、如果需要在特定分辨率下适配,可以在res目录上新建layout-HxW.xml的文件夹。

    参考网址

    相关文章

      网友评论

          本文标题:屏幕适配

          本文链接:https://www.haomeiwen.com/subject/qmusuxtx.html