• Android适应方案汇总(三)


    在Android适应方案汇总(一个)、(两)在。我们理解一些基本概念。
    那么详细的开发,我们应该重视起来。
    首先,我们需要知道。关键的事实是,这两个适配器:
    (1)。这点在单位的使用上用dp、sp以及图片资源存放于不同的drawable目录就能够解决这个问题;
    (2)不同尺寸的适配,这点主要靠将相关值以及布局文件放置于不同的目录中来解决。
    2.1 values目录
    能够在project下创建不同的values目录:values-sw480dp, values-sw600dp, 
    values-sw720dp-land等。比方一个控件的宽度,在10寸pad上是10dp,在8寸pad
    上是5dp。

    这时。你能够定义一个变量。button_width,然后在values-sw600dp
    下写<dimen name=”button_width“>5dp</dimen>。在values-sw720-land下写
    <dimen name=”button_width“>10dp</dimen>。这样就达到了在不同尺寸pad上,
    对应控件大小不一样的效果。
     2.1 layout目录
        假设在不同尺寸设备上展示的布局有明显区别,只用values不同已经难以控制,
    那么就能够考虑写不同的布局文件置于不同的layout目录下。android会依据设备
    尺寸去载入对应目录下的布局文件。如:layout-sw480dp。layout-sw600dp,
    layout-sw700dp等。
     值得注意的是,假设不是非常有必要,尽量採用2.1方案,方便维护。假设尺寸和分辨率都不同。
     那么就要结合(1)、(2)考虑了。

    (补充:事实上values目录和layout目录不不过依据尺寸推断。也和分辨率有关,不过在通常情况下。

    综合计算考虑。仅依据尺寸推断就能够了:

    320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
    480dp: a tweener tablet like the Streak (480x800 mdpi).
    600dp: a 7” tablet (600x1024 mdpi).
    720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
    600dp的含义是:代表这个设备的最短的那一边。


    获取设备的最短边的代码是:Configuration config = getResources().getConfiguration();

    int  smallestScreenWidth = config.smallestScreenWidthDp;

    这个时候拿smallestScreenWidth 与600想比較就能够知道该设备是否能读取里面的资源了。


      除此之外,为了方便适配,在编码时我们还应该注意什么呢,主要有下面几点:

      (1)多使用权重(android:layout_weight)

      尤其是在tab切换布局,listview title及Item布局等情况下;
      (2)设置宽度和高度时,尽量使用match_parent和wrap_content,避免把控件宽高设死;
      (3)父容器布局选用
      多使用RelativeLayout,FrameLayout。GridLayout等,降低布局层次。

    当然,在使用
      权重时,得採用LinearLayout;
        (4) 在xml里,设置高度、宽度採用dp(dip),设置字体採用sp。

      (应当指出的,在里面的代码,我们写setHeight(...)单位是px)



  • 相关阅读:
    基础总结深入:数据类型的分类和判断(数据、内存、变量) 对象 函数 回调函数 IIFE 函数中的this 分号
    BOM 定时器 通过修改元素的类来改变css JSON
    事件 事件的冒泡 事件的委派 事件的绑定 事件的传播
    DOM修改 使用DOM操作CSS
    包装类 Date Math 字符串的相关的方法 正则表达式 DOM DOM查询
    数组 call()、apply()、bind()的使用 this arguments
    autocad 二次开发 最小包围圆算法
    win10 objectarx向导在 vs2015中不起作用的解决办法
    AutoCad 二次开发 jig操作之标注跟随线移动
    AutoCad 二次开发 文字镜像
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4605936.html
Copyright © 2020-2023  润新知