手机dp和px的转换】的更多相关文章

1dp   0.75px  ----> 320*240 1dp   1px      ----->480*320 1dp   1.5px   ----->800*480      4英寸屏 1dp   2px     ----->1280*720     5英寸屏左右 1dp   3px     ----> 1920*1280   5英寸屏左右…
平时适配页面时经常会需要根据屏幕的宽高来设置控件的大小,很多时候在代码中还会需要dp和px互相转换. 今天把最常用的几个记录一下,经测试包括2.3 ~ 5.0之间的版本都可用,其他版本未测,不过应该也可以,,有问题欢迎吐槽. /**屏幕宽度(像素)*/ public static int getScreenWidth(Context context) { WindowManager manager = (WindowManager) context.getSystemService(Contex…
dp.px.sp转换 public class DensityUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale * (DisplayMetrics类中属性density) */ 9 public static int px2dip(float pxValue, float scale) { 10 return (int) (pxValue / scale + 0.5f); 11 } /** * 将dip或…
android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20,getResources().getDisplayMetrics()); public static float applyDimension(int unit, float value,DisplayMetrics metrics) { switch (unit) {…
/** * dp转px * @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 * @param context * @param…
在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题. 所以一般来说,常常需要dp到Px的转换操作,常用的方法如下: 1. 定义常量,仅仅是个数字,但是隐含的单位为dp 2. 在使用该常量的时候,不是直接用常量的数字,而是先转换成px单位再使用 这样子就可以适配多分辨率了. 以下提供dp和px之间互换的方法: public class DensityUtil { public st…
Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换) Android中dp和px之间进行转换 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip).一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致.但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法.这个时候,如果需要设置dp的话,就要将dp转换成px了. 以下是一个应用类,方便进行px和dp之间的转换.…
Android中dip(dp)与px之间单位转换 dp这个单位可能对web开发的人比较陌生,因为一般都是使用px(像素)但是,现在在开始android应用和游戏后,基本上都转换成用dp作用为单位了,因为可以支持多种分辨率的手机.以下是这两个单位的概念:px (pixels)像素 –一个像素通常被视为图像的最小的完整采样,这个用的比较多,特别是web开发,页面基本都是使用像素作为单位的.dip或dp (device independent pixels)设备独立像素 — 这个和设备硬件有关,一般我…
Android系统中自带的Api中可以使用TypedValue进行单位转换 1,调用系统api转换单位 // 获得转换后的px值 float pxDimension = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 16,context.getResources().getDisplayMetrics()); 2,分析TypedValue.applyDimension搞了什么事情? // 在TypedValue类中 /** * px.…
public class UnitConversionUtil { /** * 根据手机分辨率从DP转成PX * @param context * @param dpValue * @return */ public static int dip2px(Context context, float dpValue) { float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue *…