zoukankan      html  css  js  c++  java
  • android 通过getDimension,getDimensionPixelOffset和getDimensionPixelSize获取dimens.xml文件里面的变量值

    dimens.xml里写上三个变量:

      <dimen name="activity_vertical_margin1">16dp</dimen>  

        <dimen name="activity_vertical_margin2">16px</dimen>  

        <dimen name="activity_vertical_margin3">16sp</dimen>

    读取这三个变量:

    float a1=getResources().getDimension(R.dimen.activity_vertical_margin1);  

       int a2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin1);  

       int a3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin1);  

       float b1=getResources().getDimension(R.dimen.activity_vertical_margin2);  

        int b2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin2);                   int b3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);  

       float c1=getResources().getDimension(R.dimen.activity_vertical_margin3);  

        int c2=getResources().getDimensionPixelOffset(R.dimen.activity_vertical_margin3);  

        int c3=getResources().getDimensionPixelSize(R.dimen.activity_vertical_margin3);  

        Log.i("test", "getDimension= "+a1+", getDimensionPixelOffset="+a2+",getDimensionPixelSize="+a3);  

        Log.i("test", "getDimension= "+b1+", getDimensionPixelOffset="+b2+",getDimensionPixelSize="+b3);  

        Log.i("test", "getDimension= "+c1+", getDimensionPixelOffset="+c2+",getDimensionPixelSize="+c3);  

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

     09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  09-29 19:34:15.202: I/test(9732): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=16  

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

     09-29 19:35:07.376: I/test(5902): getDimension= 24.0, getDimensionPixelOffset=24,getDimensionPixelSize=24  09-29 19:35:07.376: I/test(5902): getDimension= 16.0, getDimensionPixelOffset=16,getDimensionPixelSize=24  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.

  • 相关阅读:
    codeforces C. Fixing Typos 解题报告
    codeforces B. The Fibonacci Segment 解题报告
    codeforces B. Color the Fence 解题报告
    codeforces B. Petya and Staircases 解题报告
    codeforces A. Sereja and Bottles 解题报告
    codeforces B. Levko and Permutation 解题报告
    codeforces B.Fence 解题报告
    tmp
    API 设计 POSIX File API
    分布式跟踪的一个流行标准是OpenTracing API,该标准的一个流行实现是Jaeger项目。
  • 原文地址:https://www.cnblogs.com/zhaoleigege/p/4988680.html
Copyright © 2011-2022 走看看