package com.voole.playerlib.util;

import android.content.Context;

/**
* Android大小单位转换工具类<br/>
*
* float scale = context.getResources().getDisplayMetrics().density;
*/
public class DisplayUtil {
/**
* 将px值转换为dip或dp值,保证尺寸大小不变
*
* @param pxValue
* @param scale(DisplayMetrics类中属性density)
* @return
*/
public static float px2dip(float pxValue, float scale) {
return (pxValue / scale + 0.5f);
} /**
* 将px值转换为dip或dp值,保证尺寸大小不变
*
* @param pxValue
* @param context
* @return
*/
public static float px2dip(float pxValue,Context context) {
float scale = context.getResources().getDisplayMetrics().density;
return px2dip( pxValue, scale);
} /**
* 将dip或dp值转换为px值,保证尺寸大小不变
*
* @param dipValue
* @param scale(DisplayMetrics类中属性density)
* @return
*/
public static float dip2px(float dipValue, float scale) {
return (dipValue * scale + 0.5f);
} /**
* 将dip或dp值转换为px值,保证尺寸大小不变
*
* @param dipValue
* @param context
* @return
*/
public static float dip2px(float dipValue, Context context) {
float scale = context.getResources().getDisplayMetrics().density;
return dip2px(dipValue, scale);
} /**
* 将px值转换为sp值,保证文字大小不变
*
* @param pxValue
* @param fontScale(DisplayMetrics类中属性scaledDensity)
* @return
*/
public static float px2sp(float pxValue, float fontScale) {
return (pxValue / fontScale + 0.5f);
} /**
* 将sp值转换为px值,保证文字大小不变
*
* @param spValue
* @param fontScale(DisplayMetrics类中属性scaledDensity)
* @return
*/
public static float sp2px(float spValue, float fontScale) {
return (spValue * fontScale + 0.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*
* @param spValue
* @param Context
* @return
*/
public static float sp2px(float spValue,Context context) {
float scale = context.getResources().getDisplayMetrics().density;
return sp2px( spValue, scale);
}
}

感觉挺好用的

android px,dp,sp大小转换工具的更多相关文章

  1. px,dp,sp单位转换工具类

    在layout中使用dp 在代码中getWidth系列得到的是px 设置字体大小时使用的是sp /** * Android大小单位转换工具类 */ public class PxDpSpUtil { ...

  2. android px dp sp

    http://www.zcool.com.cn/article/ZMTUxODQw.html

  3. Android屏幕尺寸与度量单位(px,dp,sp)简介

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  4. Android px,dp,pt,sp的差别

    px(像素点) mm 等Android不建议用 为什么电脑web开发能够用而Android不建议用? 由于px代表像素点个数,一般电脑分辨率都同样 不管14寸还是15寸都是1366*768而手机分辨率 ...

  5. px,dp,sp以及像素密度

    px px(pixel): 像素,是指在由一个数字序列表示的图像中的一个最小单位.在Android中,无论屏幕密度多少,一个像素单位对应一个屏幕像素单位,不会根据屏幕密度自动缩放,因此一般不推荐使用p ...

  6. Android原生系统API自带dp、px、sp单位转换

    Android系统中自带的Api中可以使用TypedValue进行单位转换 1,调用系统api转换单位 // 获得转换后的px值 float pxDimension = TypedValue.appl ...

  7. android开发之dip,dp与px像素之间的转换工具,可能用的不多,但是有总比没有好吧。

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. 下面是介绍: 免积分下载地址:http://download.csdn.net/de ...

  8. android:px,dp(dip),sp的差别

    1.px:表示屏幕的实际像素,比如320*480的屏幕在横向有320个像素,在纵向有480个像素,假设指定的某个空间的单位为px.那么在不同分辨率下的手机上.显示的都是指定的大小.一般不推荐使用px. ...

  9. Android开发之获取设备的屏幕信息和px dp之间的转换

    DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metr ...

随机推荐

  1. maven package 知识(转载)

    “打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码.编译生成的字节码.配置文件.文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR ...

  2. 《Effective Java》—— 读后总结

    这本书在Java开发的行业里,颇有名气.今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细.这个月还剩下一周,慢慢总结消化.

  3. Hibernate

  4. 一个上好的C# http/https类

    直接Copy拿去用吧: 新的 tls 协议需要新的.net版本, tls 至少更新到.net4吧,尽量用最新的.net! 不然出错了就折腾... using System; using System. ...

  5. Sql Server系列:游标

    1. 游标简介 游标是一种处理数据的方法,主要用于存储过程.触发器和Transact-SQL脚本中.SELECT语句返回的是一个结果集,游标能够从包含多条数据记录的结果集中每次提取一条记录. 游标的特 ...

  6. XenServer pool 移除server 设置master

    如果因为Pool中Master主机由于某种原因导致失效,会引起整个Pool进入紧急模式,恢复步骤如下: 在成员服务器上输入如下命令 # xe host-emergency-ha-disable     ...

  7. OpenCASCADE Performance Test

    OpenCASCADE Performance Test eryar@163.com Abstract. Use the Draw Test Harness to test the performan ...

  8. vue实例属性(vm.$els)

    不需要表达式 参数: id(必需) 用法: 为 DOM 元素注册一个索引,方便通过所属实例的 $els 访问这个元素. 注意: 因为 HTML 不区分大小写,camelCase 名字比如 v-el:s ...

  9. 【原创】.NET平台机器学习组件-Infer.NET连载(一)介绍

    Infer.NET机器学习翻译系列文章将进行连载,感兴趣的朋友请收藏或关注             本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/428 ...

  10. 如何用C#代码判断一个类的类型

     var s = "";  s.GetType().IsClass; 来自为知笔记(Wiz)