Android之——屏幕适配px转dip

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47356583

做过Android开发的童鞋都知道,由于Android手机屏幕的多样性,要想自己写的应用程序能够在不同屏幕的Android手机上运行良好,那就要涉及到屏幕的适配问题了。很多时候,团队中的美工人员给出的设计图往往都是以px为单位的,我们直接以px为单位来使用的时候,往往会出现屏幕适配的问题。Android官方文档中给出控件的长宽最好是使用dip为单位,而接界面文字的大小则使用sp为单位。那么如何将px转化为dip呢。下面,我就给出一个转化的工具类:

具体代码如下:

package cn.lyz.mobilesafe.utils;

import android.content.Context;

/**
 * 适配工具类
 * @author liuyazhuang
 *
 */
public class DensityUtils {
	/**
	 * 将float转化为dip
	 * @param context
	 * @param px
	 * @return
	 */
	public static int px2dip(Context context, float px){
		//获取手机密度
		float density = context.getResources().getDisplayMetrics().density;
		//计算公式为dip = px * 手机密度
		int dip = (int) (px * density);
		return dip;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 20:21:03

Android之——屏幕适配px转dip的相关文章

[转]android – 多屏幕适配相关

1.基本概念 屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸).android把屏幕分为以下4种:small,normal,large,extra large.怎么判断? 屏幕密度(Screen Density) -  一 块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点).相比起medium.high屏幕密度的设备,在一块确定大小的屏幕区域l密度为 low的屏幕拥有的像素更少.android把屏幕密度分为4种:low,me

android - 多屏幕适配相关

1.基本概念 屏幕大小(screen size) – 屏幕的实际大小,用屏幕对角线长度来衡量(比如3.4寸,3.8寸).android把屏幕分为以下4种:small,normal,large,extra large.怎么判断? 屏幕密度(Screen Density) - 一块实际的屏幕区域有多少个像素,一般用dpi衡量(每英寸有多少个点).相比起medium.high屏幕密度的设备,在一块确定大小的屏幕区域l密度为low的屏幕拥有的像素更少.android把屏幕密度分为4种:low,mediu

Android实习生 —— 屏幕适配及布局优化

为什么要进行屏幕适配.对哪些设备进行适配?在近几年的发展当中,安卓设备数量逐渐增长,由于安卓设备的开放性,导致安卓设备的屏幕尺寸大小碎片化极为严重.从[友盟+]2016年手机生态发展报告H1中看截止16年手机分辨率使用情况:Android设备720p和1080p是主流,如果对前5中Android设备分辨率进行适配就能让app在90%的安卓设备上比较美观的兼容. 涉及重要概念及关系 1.硬件属性 ── 屏幕尺寸.屏幕分辨率.屏幕像素密度 [屏幕尺寸]:屏幕对角线长度.单位是英寸,1英寸=2.54厘

Android之屏幕适配

Android之屏幕适配 Android之屏幕适配 适配方式一图片适配 适配方式二dimensxml文件适配 适配方式三布局文件适配 适配方式四java代码适配 适配方式五权重适配 适配:即当前应用在相同的手机上面显示相同的效果.适配前需要首先确定当前手机所属像素密度类型(如:xhdpi.hdpi.mdpi等),以下已华为G700.模拟器为例,计算其像素密度. 案例一: 手机型号:G700 手机分辨率:1280*720 (注:手机两个直角边上分别放置了1280及720个像素点) 手机尺寸大小:5

Android下屏幕适配<二>

Android下屏幕适配: 适配:即当前应用在不同的手机上面显示相同的效果.适配前需要首先确定当前手机所属像素密度类型(如:xhdpi.hdpi.mdpi等),以下已华为G700.模拟器为例,计算其像素密度. 案例一: 手机型号:G700 手机分辨率:1280*720 (注:手机两个直角边上分别放置了1280及720个像素点) 手机尺寸大小:5英寸(手机对角线长度) 假设a,b分别为两个直角边,c为斜边,由勾股定理可得出计算方式:sqrt(a*a+b*b)/c 计算结果:sqrt(1280*12

Android开发之Ruby实现Android自动化屏幕适配

背景:我相信对于Android开发者来说,屏幕适配一直是你心中的痛-,为了让Android开发者从屏幕适配的痛苦中解脱出来,我决定实现这个Android自动化屏幕适配的1.0版本.下面来讲一下思路. 首先以values-w360作为标准也就是360dp,对应的设备就是720×1080俗称的720P的屏幕,也就是说设计师给的设计稿是以720P的屏幕作为设计图的,那么如果设计图上面的尺寸是100px,那么我们就需要用100/2 = 50dp得到我们的这个标准值,以此类推,将app中所有需要适配的尺寸

Android 多屏幕适配 dp和px的关系

一直以来别人经常问我,android的多屏幕适配到底是怎么弄,我也不知道如何讲解清楚,或许自己也是挺迷糊. 以下得出的结论主要是结合官方文档进行分析的https://developer.android.com/guide/practices/screens_support.html android由于碎片化太严重,而导致市面上出现非常多的种类尺寸手机设备,当然也包括非常奇葩的分辨率手机.所以我们在布局的时候使用px作为单位显然不能很好的做到多屏幕的适配.其实在官方文档中有介绍一种解决多屏幕适配的

Android学习-- 屏幕适配

对于从事android应用开发的朋友来说都应该知道,现在的安卓手机的屏幕类型十分繁多, 大小尺寸,长宽比例都不尽相同,同一个界面在不同分辨率的手机上可能出现布局错乱,控件跑位的现象.做屏幕的适配不可能实现在每种屏幕上显示出的界面 效果完全一致.只能靠平时的编程习惯和经验是的界面在不同的屏幕尺寸在不会出现过分的走位,在可遇见范围内控制界面在不同屏幕下的变化,并做出相应调 整.那么偶们应该如何做到屏幕的适配呢?下面我就以我的开发经验来说说吧. 1.尽量使用线性布局(LinearLayout)和相对布

关于android 开发屏幕适配的个人见解

一.android 中各个单位的基本概念 px 是英文单词pixel的缩写,意为像素,屏幕上的点.我们通常所说的分辨率如480X800就是指的像素. 在设计领域中,像素是用来计算数码影像的最小单位.计算机中显示的图像并非连续的线条组成,而是由许多肉眼看不见的小点组成.如果把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小点所组成,这些小点就是构成影像的最小单位"像素".由于是最小的独立显示单位,px均为整数,不会出现0.5px的情况 in 表示英寸,是屏幕的物理尺寸.每英寸等于