TypedValue解析

来源:互联网 发布:网络数据流量检测工具 编辑:程序博客网 时间:2024/06/03 01:41

TypedValue解析

一:什么是TypedValue呢?

        ---android.util.TypedValue
        Container for a dynamically typed data value. Primarily used with Resources for holding resource values.

              翻译过来就是:这个类是工具类,作为一个动态容器,它存放一些数据值,这些值主要是resource中的值。

我们来理解一下:resource中到底有哪些值?layout、drawable、string、style、anim、dimens、menu、colors、ids这些值一些和屏幕适配有直接的关系。

二:TypedValue的applyDimension方法讲解:

        applyDimension

    public static float applyDimension(int unit,                                    float value,                                   DisplayMetrics metrics)
    第一个参数是单位,第二个参数是对应值,第三个你懂的,封装了显示区域的各种属性值。

 

三:源码:

 

      

对于applyDimension(int unit, float value,DisplayMetrics metrics)中的代码我们来看下
复制代码
 1  public static float applyDimension(int unit, float value, 2                                        DisplayMetrics metrics) 3     { 4         switch (unit) { 5         case COMPLEX_UNIT_PX: 6             return value; 7         case COMPLEX_UNIT_DIP: 8             return value * metrics.density; 9         case COMPLEX_UNIT_SP:10             return value * metrics.scaledDensity;11         case COMPLEX_UNIT_PT:12             return value * metrics.xdpi * (1.0f/72);13         case COMPLEX_UNIT_IN:14             return value * metrics.xdpi;15         case COMPLEX_UNIT_MM:16             return value * metrics.xdpi * (1.0f/25.4f);17         }18         return 0;19     }


 

0 0
原创粉丝点击