zoukankan      html  css  js  c++  java
  • getDimension,getDimensionPixelOffset和getDimensionPixelSize

    dimens.xml里写上三个变量:

    [java] view plaincopy
     
    1. <dimen name="activity_vertical_margin1">16dp</dimen>  
    2.   <dimen name="activity_vertical_margin2">16px</dimen>  
    3.   <dimen name="activity_vertical_margin3">16sp</dimen>  


    读取这三个变量:

    [html] view plaincopy
     
    1. float a1=getResources().getDimension(R.dimen.activity_vertical_margin1);  
    2.     int a2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin1);  
    3.     int a3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin1);  
    4.   
    5.     float b1=getResources().getDimension(R.dimen.activity_vertical_margin2);  
    6.     int b2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin2);  
    7.     int b3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);  
    8.   
    9.     float c1=getResources().getDimension(R.dimen.activity_vertical_margin3);  
    10.     int c2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin3);  
    11.     int c3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);  
    12.   
    13.     Log.i("test", "getDimension"+a1+"getDimensionPixelOffset="+a2+",getDimensionPixelSize="+a3);  
    14.     Log.i("test", "getDimension"+b1+"getDimensionPixelOffset="+b2+",getDimensionPixelSize="+b3);  
    15.     Log.i("test", "getDimension"+c1+"getDimensionPixelOffset="+c2+",getDimensionPixelSize="+c3);  


    对于设备1(1280*720,160dpi,density=1.0):

    [java] view plaincopy
     
    1. 09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  
    2. 09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  
    3. 09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  

    对于设备2(480*800,240dpi,density=1.5):

    [java] view plaincopy
     
    1. 09-29 19:35:07.376: I/test(5902): getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24  
    2. 09-29 19:35:07.376: I/test(5902): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=24  
    3. 09-29 19:35:07.376: I/test(5902): getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24  

    可见getDimension和getDimensionPixelOffset的功能差不多,都是获取某个dimen的值,如果是dp或sp的单位,将其乘以density,如果是px,则不乘;两个函数的区别是一个返回float,一个返回int.

    getDimensionPixelSize则不管写的是dp还是sp还是px,都会乘以denstiy.

  • 相关阅读:
    Java 泛型 泛型的约束与局限性
    Java 泛型 泛型方法
    Java 泛型 泛型数组
    Java 泛型 协变性、逆变性
    Java 泛型 协变式覆盖和泛型重载
    Java 泛型 泛型代码和虚拟机
    Insertion Sort List
    Remove Duplicates from Sorted List II
    String to Integer (atoi)
    SpringMvc源码入门
  • 原文地址:https://www.cnblogs.com/maxinliang/p/3572576.html
Copyright © 2011-2022 走看看