从今天开始我来聊下关于android中的图片处理以及android中绘图的基本用法。大家都知道android中的图片的巧妙使用会给UI得到一个很好的用户体验。所以掌握处理图片的基本技巧很是重要。那就开始吧。
说到图片的处理及canvas绘制技巧就不得不说下,关于android中屏幕适配的问题。大家都知道,android的手机中有很多种不同分辨率,大屏,小屏各式各样,五花八门的尺寸的屏幕,所以这也给android的开发者,带来一定的麻烦,那就是实现屏幕的适配问题。这也是android 不如ios的缺点之一。这样肯定是不行的,所以android中就定义一个标准分辨率,而各个手机产商都必须遵守这个标准.那先了解一下屏幕参数:1、屏幕大小(用"寸"来衡量),它的指的是屏幕对角线的长度2、屏幕的分辨率720*1280表示手机屏幕的像素点个数,宽有720个像素点,高有1280个像素点,总的有720*1280个像素点。PPI(DPI):它的值等于用对角线上的像素点除以屏幕大小得到。4、屏幕的密度表示相同长度上的像素点的个数不同,密度大的像素点个数越多,清晰度也越好。
针对这么多不同的分辨率的手机屏幕,android 给出了如下的标准:
现在已经如下5种的标准的系统的分辨密度及对应的密度值及相关的分辨率:
* ldip---------->mdip------>hdip------>xhdip---->xxhdip
* 120---------->160 ------>240 ------->320 ----->480
* 240*320 320*480 480*800 720*1280 1080*1920
很细心会发现这正好对应了android工程中的res文件夹下对应的存放图片的文件夹,因为屏幕的密度含义就是在相同的屏幕的宽度上所含有的像素点的个数不一样
密度大的相同宽度的屏幕的含有的像素点的个数要更多,故此在也就可以得到了,不同的分辨率的之间的换算比例即为各标准密度值之比:3:4:6:8:12
有时候,需要进行单位的之间换算,比如px---->dp,px---->sp或者dp,sp----->px等,给出如下的换算的工具类:
package com.mikyou.tools;
import android.content.Context;
import android.util.TypedValue;
/**
* @author mikyou
* dp px sp屏幕的尺寸的单位换算工具类
* px----->dp,dp----->px
* px----->sp,sp------->px
* 针对不同的手机分辨率有不同的屏幕的密度
* 现在已经如下5种的标准的系统的分辨密度及对应的密度值及相关的分辨率:
* ldip---------->mdip------>hdip------>xhdip---->xxhdip
* 120---------->160 ------>240 ------->320 ----->480
* 240*320 320*480 480*800 720*1280 1080*1920
*
* 因为屏幕的密度含义就是在相同的屏幕的宽度上所含有的像素点的个数不一样
* 密度大的相同宽度的屏幕的含有的像素点的个数要更多
* 故此在也就可以得到了,不同的分辨率的之间的换算比例即为各标准密度值之比:3:4:6:8:12
* */
public class DisplayToChangeUtil {
/