Android手机屏幕px转dp和dp转px工具类

代码如下:

import android.content.Context;

public class DensityUtil {

    private static float scale;

    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public static int dip2px(Context context, float dpValue) {
        if (scale == 0) {
            scale = context.getResources().getDisplayMetrics().density;
        }
        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
     */
    public static int px2dip(Context context, float pxValue) {
        if (scale == 0) {
            scale = context.getResources().getDisplayMetrics().density;
        }
        return (int) (pxValue / scale + 0.5f);
    }
}
时间: 2024-10-12 22:26:46

Android手机屏幕px转dp和dp转px工具类的相关文章

Unity3D Android手机屏幕分辨率问题

Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android 游戏开发时,对于不同分辨率下的显示效果就像是摄像机的自动平移了一般,看了不少游戏,对于 Unity3D 开发 android 游戏貌似都没有做相应的屏幕分辨率的处理,而是随摄像机的自动移动,把场景做大些不至于出现空白背景. 其实 Unity3D 开发3D游戏,对于不同的分辨率,我们只需要设置 1

android 手机屏幕解锁最多有多少种?

  这个十分有趣的题目出自知乎http://www.zhihu.com/question/24905007/answer/29414497 ,排名第一的知友的答案用python简洁的给出了代码和答案,枉费我用C++ 鼓捣了半天... 不过也不能算是白做,还是有颇多收获的. 先准确描述一下这个问题解决思路: 这题目本质就是计算排列: 定义一个函数 permutation(n.m) :从n个数中选m个进行全排列 我们要计算的就是        1. Σ permutation(9,i) (i从1到9

android 使用asm.jar将android手机屏幕投影到电脑上

使用asm.jar将Android手机屏幕投影到电脑 有时候可能需要将手机上的一些操作投影出来,比如一些App Demo的展示等.其实,有专门的硬件设备能干这件事儿,但没必要专门为展示个Demo去花钱买硬件设备.正好,对于Android系统的手机,有一个开源的jar包能干这事儿:Android Screen Monitor(asm.jar),官网 https://code.google.com/p/android-screen-monitor/  . 1.到官网下载ASM的zip包,解压后得到a

终结者:电脑显示Android手机屏幕之asm.jar工具正确的使用方法

1.asm.jar的作用: 提到asm.jar的作用,那么最显著的莫过于计算机显示Android手机屏幕了:其次可以调整计算机上显示Android手机屏幕的大小(好多人都没有发现这个功能):再者可以选择不同的显示的Android手机设备:还可以设置手机显示屏幕的方向:还可以截取手机的屏幕:等等等. 2.下载asm.jar: 网上下载asm.jar的链接有很多,但需要说明的是有一些是病毒,这里提供一个安全的下载链接地址(下载下来的压缩文件不仅包含了asm.jar,而且还有其实现的源码):http:

Android基础入门教程——8.3.1 三个绘图工具类详解

Android基础入门教程--8.3.1 三个绘图工具类详解 标签(空格分隔): Android基础入门教程 本节引言: 上两小节我们学习了Drawable以及Bitmap,都是加载好图片的,而本节我们要学习的绘图相关的 一些API,他们分别是Canvas(画布),Paint(画笔),Path(路径)!本节非常重要,同时也是我们 自定义View的基础哦~好的,话不多说开始本节内容~ 官方API文档:Canvas:Paint:Path: 1.相关方法详解 1)Paint(画笔): 就是画笔,用于设

Android手机屏幕投射到电脑神器Vysor

做android开发的,经常要把手机屏幕投射到电脑,用来演示.普遍的解决方案是360或者豌豆荚的演示功能,缺点是延迟非常厉害,大概有3秒左右,非常影响演示效果.以下介绍Vysor,几乎0延迟,能与手机画面同步 Vysor是chrome浏览器的应用,因此先要下载原版的chrome,并且还要使用chrome应用商店,如何fq使用应用商店大家可以百度 软件打开后是这么个样子 PS:win10要安装最新的ADB驱动,软件界面下方有提供下载链接 然后是手机的准备,首先,开启usb调试模式 然后用usb线把

Android手机屏幕流畅投影到电脑进行演示(无需Root)

最近要在公司的会议上演示App,需要在投影仪上显示出来给大家演示.由于投影仪不是智能投影仪,只能将App先投影到自己的笔记本上,然后再将笔记本上的内容投影到投影仪上.该App是个游戏,实时交互性比较高,之前试过一些各种手机助手,比如腾讯的应用宝.360手机助手.豌豆荚手机助手等,这些手机助手可以在电脑上显示手机屏幕,但是非常卡顿,基本没法演示游戏App.我的手机是小米Note,最开始的时候用的是Android 4.4的系统,当时可以用小米助手链接小米Note,小米助手可以在PC上相对来说比较流畅

[email protected]:在PC屏幕上显示Android手机屏幕

这里介绍一款工具——[email protected],用来获取手机屏幕,显示在PC屏幕上.它集截图.录像等多种功能于一体. 安装 1.    下载地址:http://droid-at-screen.org/download.html,下载后是一个jar包,放到某个目录就可以. 2.    安装JDK6或以上版本 3.    安装Android SDK(从Android官方下载一个完整包解压即可) 4.    设置ANDROID_HOME环境变量指向AndroidSDK主目录(这步如果不做,则需

android 使用asm.jar将android手机屏幕投射到电脑

使用asm.jar将Android手机到电脑屏幕投影 有时候可能须要将手机上的一些操作投影出来,比方一些App Demo的展示等.事实上,有专门的硬件设备能干这件事儿.但不是必需专门为展示个Demo去花钱买硬件设备.正好,对于Android系统的手机.有一个开源的jar包能干这事儿:Android Screen Monitor(asm.jar),官网 https://code.google.com/p/android-screen-monitor/  . 1.到官网下载ASM的zip包,解压后得

Android进阶笔记21:Android手机屏幕坐标系

1. 手机屏幕坐标系: 整个坐标系是以手机屏幕左上角为原点(0,0),如下: