Android中常用方法中表示长度的单位dp,sp,px

Android中表示长度的单位dp,sp,px

px:像素点
dp:与像素密度有关。在每英寸160像素点的屏幕上,1dp = 1px
sp:除了受像素密度影响外,还受系统字体大小影响,主要用于字体显示

dp,sp,px的转换

	//工具方法,dp转化成px
	public static int dp2px(Context context, int dp) {
		return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics());
	}

	//工具方法,sp转化成px
	public static int sp2px(Context context, int sp) {
		return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
	}

	//工具方法,px转化成dp
	public static int px2dp(Context context, int px) {
		float density = context.getResources().getDisplayMetrics().density;
		return (int)(px / density + 0.5f);
	}

	//工具方法,px转化成sp
	public static int px2sp(Context context, int px) {
		float density = context.getResources().getDisplayMetrics().scaledDensity;
		return (int)(px / density + 0.5f);
	}

Android中常用方法中的参数表示长度的单位dp,sp,px

Canvas方法public void drawRect(float left, float top, float right, float bottom, @NonNull Paint paint)
left:px
top:px
right:px
bottom:px
Paint方法public void setStrokeWidth(float width)
width:px
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值