dp与px转换工具类

PX、DP单位转换工具类 import android.app.Activity; import android.content.Context;/** * PX、DP单位转换 */ public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context contex 阅读详情

**

dp–px–sp互转、屏幕数据获取

**

DensityUtil.java

-

-

package com.library.util;

import android.content.Context;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.WindowManager;

/**
 * dp与px转换工具
 * Created by Jusenr on 2016/7/10.
 */
public final class DensityUtil {

    /**
     * dp转px
     *
     * @param context context
     * @param dpValue dp值
     * @return px值
     */
    public static int dp2px(Context context, float dpValue) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, context.getResources().getDisplayMetrics());
    }

    /**
     * sp转px
     *
     * @param context context
     * @param spValue sp值
     * @return px值
     */
    public static int sp2px(Context context, float spValue) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spValue, context.getResources().getDisplayMetrics());
    }

    /**
     * px转dp
     *
     * @param context context
     * @param pxValue px值
     * @return dp值
     */
    public static float px2dp(Context context, float pxValue) {
        float scale = context.getResources().getDisplayMetrics().density;
        return pxValue / scale;
    }

    /**
     * px转sp
     *
     * @param context context
     * @param pxValue px值
     * @return dp值
     */
    public static float px2sp(Context context, float pxValue) {
        float scale = context.getResources().getDisplayMetrics().density;
        return pxValue / scale;
    }

    /**
     * 获取屏幕宽度
     *
     * @param context
     * @return
     */
    public static int getScreenW(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        return wm.getDefaultDisplay().getWidth();
    }

    /**
     * 获取屏幕高度
     *
     * @param context
     * @return
     */
    public static int getScreenH(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        return wm.getDefaultDisplay().getHeight();
    }

    /**
     * 获得设备的屏幕宽度
     *
     * @param context
     * @return
     */
    public static int getDeviceWidth(Context context) {
        WindowManager manager = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        return manager.getDefaultDisplay().getWidth();
    }

    /**
     * 获得设备的屏幕高度
     *
     * @param context
     * @return
     */
    public static int getDeviceHeight(Context context) {
        WindowManager manager = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        return manager.getDefaultDisplay().getHeight();
    }

    public static class Screen {
        public int widthPixels;
        public int heightPixels;
        public int densityDpi;
        public float density;
    }

    public static Screen getScreenPixels(Context context) {
        DisplayMetrics dm = new DisplayMetrics();
        WindowManager windowManager = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        windowManager.getDefaultDisplay().getMetrics(dm);
        Screen screen = new Screen();
        screen.widthPixels = dm.widthPixels;// e.g. 1080
        screen.heightPixels = dm.heightPixels;// e.g. 1920
        screen.densityDpi = dm.densityDpi;// e.g. 480
        screen.density = dm.density;// e.g. 2.0
        Logger.d("width=" + screen.widthPixels + ", height=" + screen.heightPixels
                + ", densityDpi=" + screen.densityDpi + ", density=" + screen.density);
        return screen;
    }

    public static int getStatusBarHeight(Context context) {
        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            return context.getResources().getDimensionPixelSize(resourceId);
        }
        return 0;
    }
}
Android的单位转换工具类 一个简单的用于Android的dp、sp和px单位之间的转换工具类 立即下载

相关推荐

卡方分布的前世今生:一个统计概念的演化史

本文追溯了卡方分布从19世纪末的理论雏形到现代统计推断核心工具的发展历程。从Karl Pearson的数学奠基到Ronald Fisher的理论完善,卡方分布在医学研究、社会科学和机器学习等领域展现出广泛应用。文章通过代码示例和性质分析,揭示了这一统计概念如何持续推动数据科学创新。

weixin_29251567的博客 388

Android之屏幕适配

        网上屏幕适配的方式有很多,比如按百分比的、按分辨率的,这里我是按最小宽度去适配,也是Google建议的方式。         1.首先下载屏幕适配插件ScreenMatch。         AS→File→Settings→plugins→SreenMatch下载即可。         2.在项目的任意目录或文件右键选择ScreenMatch,选module,生成一堆dim...

u014611408的博客 364

AntV G6边动画实战:手把手教你实现数据流向箭头与虚线流动效果

本文详细解析了如何使用AntV G6实现数据流向箭头与虚线流动效果,通过自定义边动画提升数据可视化的动态表现力。从基础环境搭建到核心概念讲解,再到虚线流动动画和箭头路径动画的具体实现与参数调控,帮助开发者掌握G6边动画的高级技巧,适用于网络流量监控、数据传递等场景。

weixin_28487433的博客 264

Android dip/dp sp px 单位转换小结 applyDimension

import android.content.Context; import android.util.TypedValue;/** * 说明:相对于官方内部转换 都+0.5f的原因:根据网上的说法是为了保证结果不小于0. 【所以强转int后,数据还是对的】 * Created by Administrator on 2016/3/22. */ public class DensityU

Keep Learning , Keep Improving ! 1528

WiseFlow本地搭建实录---保姆教程

本文介绍了如何从0开始搭建wiseflow的个人情报官的方法,目前所有的API全部都是免费的,对机器没有要求,大家可以放心搭建

liuhui244的博客 1959

解决OpenCASCADE性能瓶颈:显示加速与三角剖分优化全攻略

本文深入探讨OpenCASCADE在工业设计和CAD建模中的性能优化策略,重点解决显示加速与三角剖分等核心瓶颈问题。通过智能刷新控制、显示数据结构优化和动态LOD技术,显著提升渲染效率和交互体验,适用于复杂场景下的三维可视化应用。

weixin_30752699的博客 344

dp,sp,px之间的转化

为了做到屏幕适配,有时候就需要做px,dp,sp之间的转化,下面就提供一个这样的类来解决这个问题。话不多说,直接看代码。DisplayUtil.javaimport android.content.Context;public class DisplayUtil { public static int dp2px(Context context, float dp) { flo

张小强的专栏 600

UE4游戏开发:GameInstance与GameMode的实战应用与避坑指南

本文深入解析了UE4中GameInstance与GameMode的核心差异与实战应用。GameInstance作为贯穿游戏进程的全局单例,负责跨关卡数据持久化与系统管理;而GameMode则定义特定关卡内的游戏规则与逻辑,随关卡加载销毁。文章通过数据存储、动态模式切换及网络游戏等场景,提供了清晰的应用指南与常见避坑方案,帮助开发者构建更健壮的UE4游戏架构。

kubernetes8ctl的博客 230

TypedValue.applyDimension 中dp和sp之间转化的真相

最近在看了许多关于dp-px,px-dp,sp-px,px-sp之间转化的博文,过去我比较常用的方式是: 1 //转换dip为px 2 public static int convertDipOrPx(Context context, int dip) { 3 float scale = context.getResources().getDisplay...

banlujian4437的博客 305

R语言实战:5分钟搞定相加交互效应分析(逻辑回归/Cox回归/GLMM/GEE全支持)

本文详细介绍了如何利用R语言中的`scitable`包快速实现相加交互效应分析,支持逻辑回归、Cox回归、GLMM和GEE等多种模型。通过自动化计算RERI、AP和SI等指标,大幅提升临床研究和流行病学分析的效率与准确性,特别适合处理多因素联合作用的复杂场景。

fanta的博客 669

【AHE数据集】中国2019年多源热排放数据集-500m空间分辨率

【AHE数据集】中国2019年多源热排放数据集

WW、forever的博客 411

android dp 转换工具,Android dp、px、sp相互转化工具类

正文今天我编写一个dp、px、sp相互转化的工具类我们在开发中有时候可能会有dp、px、sp相互的需求,首先我们来看看这三者的概念px:它其实就是我们常说的像素单位,有时你可能会听到某屏幕是800*600的分辨率,这就是指的pxdp:这个是虽然也是尺寸单位,但是它会根据不同屏幕的密度进行适配,最开始Android是用的px,后来为了适配各种屏幕,于是就出现了dp,dp一般用于View大小设置sp:...

weixin_39850787的博客 419

YOLOv9改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 1364

Android dp、px、sp转换工具类

import android.content.Context; /** * Description: dp、px、sp转换工具类 */ public class DensityUtils { /** * dp转px */ public static int dip2px(Context context, float dpValue) { f...

Junjie.liao的博客 377

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android 字体像素转换工具类_android手机dp与px转换工具类

android手机dp与px转换工具类public final class DensityUtil {private static float density = -1F;private static int widthPixels = -1;private static int heightPixels = -1;private DensityUtil() {}//获取屏幕密度(获得的不是真实的...

weixin_42511201的博客 204

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 字体像素转换工具类_android px,dp,sp大小转换工具

package com.voole.playerlib.util;import android.content.Context;/*** Android大小单位转换工具类** float scale = context.getResources().getDisplayMetrics().density;*/public class DisplayUtil {/*** 将px值转换为dip或dp值...

weixin_39620653的博客 587

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android手机dp与px转换工具类

android手机dp与px转换工具类

KfcCola的博客 587

Android 单位px、dp、sp转换工具类

import android.content.Context; import android.util.TypedValue; //常用单位转换的辅助类 public DensityUtils { private DensityUtils() { /*

p522947409的专栏 9618

Android dp、sp 转换为 px 的工具类

import android.content.Context;/** * dp、sp 转换为 px 的工具类 * * */ public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale *

bjxiaxueliang的CODING小栈 957

dp/px/sp转换工具类

package com.example.myapplication.initview; import android.content.Context; /** * Created by pw on 2019/3/27 14:10 * E-Mail Address: pw163.com */ public class DisplayUtil { /** * 将px值转换为d...

mintent的博客 299

android dp工具类,Android 单位px、dp、sp转换工具类

import android.content.Context;import android.util.TypedValue;//常用单位转换的辅助类public DensityUtils{private DensityUtils(){/* cannot be instantiated */throw new UnsupportedOperationException("cannot be ins...

weixin_42104947的博客 294

dp和px相互转换工具类

dp和px相互转换工具类 object DensityUtils { private val density = getDensity() fun dip2px(dp: Float): Int { return (dp * density + 0.5f).toInt() } fun px2dp(px: Float): Int { ...

TomCat0916的博客 368

android中dp和px之间转换的工具类

px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。/** * dp、sp 、 px之间的相互转化的工具类 * * */ publ

haowei0708的博客 821

java sp转成px,Android px、dp、sp相互转换工具类

Android px、dp、sp相互转换工具类可以轻松让px,dp,sp之间相互转换,代码如下:packagecom.tpyyes.util;importandroid.content.Context;importandroid.util.DisplayMetrics;importandroid.util.TypedValue;importandroid.view.Display;imp...

weixin_35867608的博客 383

Android 开发 记录一个DP、PX、SP转换工具类

Android 开发 记录一个DP、PX、SP转换工具类 public class UnitConversionUtil { /** * 根据手机分辨率从DP转成PX * @param context * @para...

weixin_30369087的博客 102
上一篇: 获得图片色调工具类
下一篇: 图片处理工具
Jusenr
博客等级 码龄10年 13粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jusenr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值