getDimension,getDimensionPixelOffset和getDimensionPixelSize
2016-10-27 15:02
435 查看
getDimension,getDimensionPixelOffset和getDimensionPixelSize
好多网上都错的,今天亲手实验了一把,把结果分享给大家。<dimen name="dp_01">16dp</dimen> <dimen name="px_01">16px</dimen> <dimen name="sp_01">16sp</dimen> <dimen name="dp_02">16.4dp</dimen> <dimen name="px_02">16.4px</dimen> <dimen name="sp_02">16.4sp</dimen> <dimen name="dp_03">16.6dp</dimen> <dimen name="px_03">16.6px</dimen> <dimen name="sp_03">16.6sp</dimen>
float a11 = getResources().getDimension(R.dimen.dp_01); int a21 = getResources().getDimensionPixelOffset(R.dimen.dp_01); int a31 = getResources().getDimensionPixelSize(R.dimen.dp_01); float b11 = getResources().getDimension(R.dimen.px_01); int b21 = getResources().getDimensionPixelOffset(R.dimen.px_01); int b31 = getResources().getDimensionPixelSize(R.dimen.px_01); float c11 = getResources().getDimension(R.dimen.sp_01); int c21 = getResources().getDimensionPixelOffset(R.dimen.sp_01); int c31 = getResources().getDimensionPixelSize(R.dimen.sp_01); float a12 = getResources().getDimension(R.dimen.dp_02); int a22 = getResources().getDimensionPixelOffset(R.dimen.dp_02); int a32 = getResources().getDimensionPixelSize(R.dimen.dp_02); float b12 = getResources().getDimension(R.dimen.px_02); int b22 = getResources().getDimensionPixelOffset(R.dimen.px_02); int b32 = getResources().getDimensionPixelSize(R.dimen.px_02); float c12 = getResources().getDimension(R.dimen.sp_02); int c22 = getResources().getDimensionPixelOffset(R.dimen.sp_02); int c32 = getResources().getDimensionPixelSize(R.dimen.sp_02); float a13 = getResources().getDimension(R.dimen.dp_03); int a23 = getResources().getDimensionPixelOffset(R.dimen.dp_03); int a33 = getResources().getDimensionPixelSize(R.dimen.dp_03); float b13 = getResources().getDimension(R.dimen.px_03); int b23 = getResources().getDimensionPixelOffset(R.dimen.px_03); int b33 = getResources().getDimensionPixelSize(R.dimen.px_03); float c13 = getResources().getDime 97ab nsion(R.dimen.sp_03); int c23 = getResources().getDimensionPixelOffset(R.dimen.sp_03); int c33 = getResources().getDimensionPixelSize(R.dimen.sp_03); Log.e("test", "getDimension_a11= " + a11 + ", getDimensionPixelOffset_a21=" + a21 + ",getDimensionPixelSize_=" + a31); Log.e("test", "getDimension_b11= " + b11 + ", getDimensionPixelOffset_b21=" + b21 + ",getDimensionPixelSize_b31=" + b31); Log.e("test", "getDimension_c11 =" + c11 + ", getDimensionPixelOffset_c21=" + c21 + ",getDimensionPixelSize_c31=" + c31); Log.e("test", "getDimension_a12 =" + a12 + ", getDimensionPixelOffset_a12=" + a22 + ",getDimensionPixelSize_a32=" + a32); Log.e("test", "getDimension_b12= " + b12 + ", getDimensionPixelOffset_b22=" + b22 + ",getDimensionPixelSize_b32=" + b32); Log.e("test", "getDimension_c12= " + c12 + ", getDimensionPixelOffset_c22=" + c22 + ",getDimensionPixelSize_c32=" + c32); Log.e("test", "getDimension_a13= " + a13 + ", getDimensionPixelOffset_a23=" + a23 + ",getDimensionPixelSize_a33=" + a33); Log.e("test", "getDimension_b13= " + b13 + ", getDimensionPixelOffset_b23=" + b23 + ",getDimensionPixelSize_b33=" + b33); Log.e("test", "getDimension_c13= " + c13 + ", getDimensionPixelOffset_c23=" + c23 + ",getDimensionPixelSize_c33=" + c33);
LogCat中查看输出结果:
////Device (1080*120,density=3.0): getDimension_a11= 48.0, getDimensionPixelOffset_a21=48,getDimensionPixelSize_=48 getDimension_b11= 16.0, getDimensionPixelOffset_b21=16,getDimensionPixelSize_b31=16 getDimension_c11 =48.0, getDimensionPixelOffset_c21=48,getDimensionPixelSize_c31=48 getDimension_a12 =49.19998, getDimensionPixelOffset_a12=49,getDimensionPixelSize_a32=49 getDimension_b12= 16.399994, getDimensionPixelOffset_b22=16,getDimensionPixelSize_b32=16 getDimension_c12= 49.19998, getDimensionPixelOffset_c22=49,getDimensionPixelSize_c32=49 getDimension_a13= 49.799927, getDimensionPixelOffset_a23=49,getDimensionPixelSize_a33=50 getDimension_b13= 16.599976, getDimensionPixelOffset_b23=16,getDimensionPixelSize_b33=17 getDimension_c13= 49.799927, getDimensionPixelOffset_c23=49,getDimensionPixelSize_c33=50
结论
getDimensionPixelSize() 是返回”四舍五入”的int值.
getDimensionPixelOffset() 是返回”下限”的int值.
getDimension 和 getDimensionPixelOffset和getDimensionPixelSize 单位是dp或sp,则需要将其乘以density;如果是px则不乘;
相关文章推荐
- getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别
- getResources()的getDimension、getDimensionPixelOffset和getDimensionPixelSize之间区别
- getDimension,getDimensionPixelOffset和getDimensionPixelSize
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
- 【Android】getDimension,getDimensionPixelOffset和getDimensionPixelSize
- 【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
- Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
- getDimension,getDimensionPixelOffset和getDimensionPixelSize
- Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
- getDimension,getDimensionPixelSize,getDimensionPixelOffset三者的区别
- getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
- getDimension(),getDimensionPixelOffset()和getDimensionPixelSize()区别(转载)
- getDimension,getDimensionPixelOffset和getDimensionPixelSize
- android 通过getDimension,getDimensionPixelOffset和getDimensionPixelSize获取dimens.xml文件里面的变量值
- getDimension(), getDimensionPixelOffset(), getDimensionPixelSize()的区别
- getDimension,getDimensionPixelOffset和getDimensionPixelSize的区别
- 从源码看getDimension()、getDimensionPixelOffset()以及getDimensionPixelSize()三个区别
- Android中的getDimension,getDimensionPixelOffset和getDimensionPixelSize
- getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解