您的位置:首页 > 移动开发 > Android开发

android解决xml里设置高度跟代码里的设置高度不同

2015-11-24 11:26 351 查看
今天在设置布局时发现,我的xml布局里高度写死了,然后在子布局中用代码设置其高度,发现代码设置的高度要矮好多,网上搜索才知道:

代码写的是像素

而XML中(即dp)写的是单位密度。

两者是需要转换才能达到我们想要的效果的。转换的代码:

package com.jqyd.njztc_normal.util;

import android.content.Context;

public class ConvertDpAndPx {

/**
* dp转换成px,代码写的是像素,而XML中写的是单位密度
* @param context
* @param dp
* @return
*/
public static int Dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}

/**
* px转换成dp,代码写的是像素,而XML中(dp)写的是单位密度
* @param context
* @param px
* @return
*/
public static int Px2Dp(Context context, float px) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (px / scale + 0.5f);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml android