公共代码参考(TypedValue)

本文介绍了一个用于Android开发的实用工具类DensityUtils,该类提供了dp与px之间的转换方法,有助于开发者更好地进行UI布局设计。文章详细解释了这些方法的具体实现,并提到了不同单位的应用场景。
package com.fredric.util;

import android.content.Context;
import android.util.TypedValue;


/*-
 * 像素转换相关
 * COMPLEX_UNIT_PX:像素
 * COMPLEX_UNIT_DIP:设备独立像素(与硬件设备无关)
 * COMPLEX_UNIT_PT:标准长度单位1/72英寸
 * COMPLEX_UNIT_IN:英寸
 * COMPLEX_UNIT_MM:毫米
 * Google建议:
 * 像素类的采用DIP,字体大小类的采用PX
 */
public class DensityUtils {
    
    /*-
     * dp2px
     * 像素密度 = 分辨率/尺寸
     * 将dip转换为pixel,应用场景如:
     * setPadding 方法的单位是pixel,需要做转换
     */
    public static int dp2px(Context context, float dp){
        
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,  
            dp, context.getResources().getDisplayMetrics());     
    }
    
    /*-
     * px2dp
     */
    public static float px2dp(Context context, float pxVal){
        //获取屏幕密度
       final float scale = context.getResources().getDisplayMetrics().density;          
       return (pxVal / scale);  
    }
}

 

转载于:https://www.cnblogs.com/Fredric-2013/archive/2013/04/03/4390464.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值