美文网首页Android知识
Android 适配问题

Android 适配问题

作者: Poseidon_Wang | 来源:发表于2017-02-19 02:03 被阅读91次
    基础概念

    匹配大概分图片匹配与布局匹配.首先了解下关于尺寸的一些概念
    px:像素,就是一个光点。
    ppi,dpi:pixel per inch,dot per inch,两个差不多的概念,都是每英寸像素点数
    dp:android屏幕无关像素(后面有个sp专门用来字体的放大缩小)

    常见像素密度与drawable文件夹的对应关系
    以160dpi为标准
    android对于各文件夹图片的选择策略

    1.首先寻找相应目录,存在即使用
    2.没找到就去像素密度更高一级的文件夹查找,一直延续到找到
    3.如果到xxhdpi仍未找到,则往低一级文件夹查找
    4.根据dpi的排序进行查找(现在已不维护ldpi的资源了)

    各文件夹的图片的缩放策略

    根据dpi的比例来进行缩放,比方在mdpi的机子上使用xhdpi的图,这张图就会被缩小1倍,这里就有个切图技巧了,因为放大是需要拉伸的会失真模糊,所以一般都采取缩小的策略,所以切图的时候竟然使用较大参考模板切图(xhdpi),这样节省时间

    dpi的对应关系

    (硬性计算根据原理是)sqrt(widthPx2+heightPx2)/x英寸 前提在知道分辨率及屏幕尺寸情况下,一般情况由于英寸差距较小,我们会采用目视匹配来选定他的ppi

    • mdpi:320*480-----------------------160dpi
    • hdpi:480*800------------------------240dpi
    • xhdpi:720*1280---------------------360dpi
    • xxhdpi:1080*1920------------------480dpi
    图片的适配

    对于ImageView因为有scalType我们可以使用这个参数对图片的现实进行调整

    • center:小于控件则居中显示,大于控件则截取中间那块(哪一边不够,哪一边取居中)
    • centerCrop:小于控件则按比例扩大直到所有边大于等于控件的对应边,大于控件的话是一定比例缩小,直到所有边小于控件的对应边
    • centerInside:小于控件则完整居中显示,大于控件按比例缩小直至所有边都小于控件对应边(注意区别)
    • fitCenter:以宽度维基准放大缩小
    • fitStart,fitEnd:放大缩小原则同上显示基准位置分别为左上角,右下角
    • fixXy:铺满控件,按不同比例拉伸
      另外对于某些特殊的场景比方聊天图标我们可以使用.9图,或者使用shape的矢量图
    布局匹配

    学过网页的大概都知道百分比布局,这样的好处就是可以适应不同大小的浏览器页面,防止页面变形,在android上曾经出现过类似布局,后来没有推广开来,那么我们的适配就是基于屏幕的自适应了
    1.这里就要用到dp,sp密度无关单位,具体计算为
    px=(dpi/160)
    注意sp是字体专用的
    2.尽量使用Relativelayout这种根布局,或者也可以根据weight来实现百分比布局,请自行百度
    3.使用match_parent,wrap_content代替具体的数值

    参考文章:屏幕适配基本概念
    福利控件:百分比控件

    相关文章

      网友评论

        本文标题:Android 适配问题

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