zoukankan      html  css  js  c++  java
  • Android屏幕适配

    Android屏幕适配主要有以下五种方法:

      1.图片适配(不同像素密度的手机,加载不同资源文件下的图片)

        ldpi:320*240

        mdpi:480*320

        hdpi:800*480

        xhdpi:1280*720

        xxhdpi:1920*1080

      如果当前像素密度的手机上面没有图片,就回去加载高一个级别的图片

      像素密度:当前一个英寸上分布的像素点dpi

      像素密度的计算:像素密度 = 分辨率的对角线 / 英寸数

    ldpi 1dp=0.75px 160dp=120px 240px一半 320*240
    mdpi 1dp=1px 160dp=160px 320px一半 480*320
    hdpi 1dp=1.5px 160dp=240px 480px一半 800*480
    xhdpi 1dp=2px 160dp=320px 640px一半 1280*720
    xxhdpi 1dp=3px 160dp=480px 960px一半 1920*1080

      2.dimens.xml分配

        例如:对xhdpi进行个性化定制:

        1.创建“values-1280x752”文件夹

        2.在dimens.xml文件中定义

      3.布局适配(layout适配,不同像素密度的手机,加载不同资源文件夹下的布局)

        例如:对xhdpi进行个性化定制:

        1.创建“layout-1280x752”文件夹

        2.在布局文件中定义

      4.Java代码适配(控件的宽高,就是根据屏幕 宽高的百分比去设置)

    WindowManager wm = getWindowManager();
            DisplayMetrics outMetrics = new DisplayMetrics();
            wm.getDefaultDisplay().getMetrics(outMetrics);
    
            int width = outMetrics.widthPixels;
            int height = outMetrics.heightPixels;
    
            // 加0.5的目的就是四舍五入的操作
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams((int) (width * 0.5 + 0.5), (int) (height * 0.5 + 0.5));
            TextView tv = (TextView) findViewById(R.id.tv);
            tv.setLayoutParams(layoutParams);

      5.权重分配(weight)

  • 相关阅读:
    GridView中checkbox实现全选[转]
    go 格式化秒 running
    mysql 聚簇索引和非聚簇索引 running
    go context上下文取消 running
    go reflect running
    time.ticker running
    go 数据结构与算法之二分查找 running
    mysql 联合索引最左前缀匹配原则 running
    es 修改 mapping 字段类型 running
    linux 查看虚拟机网卡命令 running
  • 原文地址:https://www.cnblogs.com/FlySheep/p/4580167.html
Copyright © 2011-2022 走看看