2014.01.16(2) ——— android 关于适配的工具类
2014.01.16———android关于适配的工具类
import android.content.Context; import android.util.DisplayMetrics; import android.util.TypedValue; import android.widget.TextView; /** * 主要用于适配 * 最好都用px,这样计算的精确 */ public class UtilFit { //ui设计的时候 基于的屏幕的宽和高 private int mBaseWidth; private int mBaseHeight; //当前手机的宽和高 private int mCurrentWidth; private int mCurrentHeight; private float mScaleWidth; private float mScaleHeight; //默认 720 * 1280 public UtilFit(Context pContext){ this(pContext, 720, 1280); } public UtilFit(Context pContext, int pBaseWidth, int pBaseHeight){ this.mBaseHeight = pBaseHeight; this.mBaseWidth = pBaseWidth; DisplayMetrics mDis = pContext.getResources().getDisplayMetrics(); this.mCurrentHeight = mDis.heightPixels; this.mCurrentWidth = mDis.widthPixels; this.mScaleHeight = 1.0f * mCurrentHeight / mBaseHeight; this.mScaleWidth = 1.0f * mCurrentWidth / mBaseWidth; } /** * 适配字体 * 最好textview里面的字体用px,也就是ui给的标注里面的值 * 这样计算的更准确 * @Title: setTextSize * @param pTxt * @return void * @date 2014-1-16 上午11:14:06 */ public void setTextSize(TextView pTxt){ pTxt.setTextSize(TypedValue.COMPLEX_UNIT_PX, pTxt.getTextSize() * mScaleWidth); } /** * * 根据原来image的宽高比来计算image的高度 * 一般用在gridview里面的图片适配 * @Title: getImageHeight * @param pSrcHeight * @param pSrcWidth * @param pDstWidth * @return * @return int * @date 2014-1-16 上午11:11:39 */ public int getImageHeight(float pSrcHeight, float pSrcWidth, int pDstWidth){ float tScale = 1.0f * pSrcHeight / pSrcWidth; return Math.round(tScale * pDstWidth); } /** *用来计算填充屏幕宽度的image的高度 * @Title: getImageHeight * @param pSrcHeight * @return * @return int * @date 2014-1-16 上午11:17:15 */ public int getImageHeight(float pSrcHeight){ return Math.round(mScaleWidth * pSrcHeight); } /** * 这个可以用来得到目标view在本手机上应该显示的高 * * 例如 一个ViewPager在base也就是720*1280,上面高度为100 这个是ui给的标注 * 然后 我的手机是480*800的 这个时候 就可以 用这个来得到应该在我的手机上显示的高度 * 800/1280 * 100 = 62.5 * */ public int getViewHeight(float pSrcHeight){ return Math.round(mScaleWidth * pSrcHeight); } }
相关推荐
zhouanzhuojinjie 2020-05-05
magic00 2020-01-29
Ifree团队 2019-12-10
csdnuuu 2019-12-14
绿豆饼 2019-12-11
csdnuuu 2019-12-10
人走丿茶凉 2019-11-18
androidstudyroom 2019-11-08
翟浩浩Android 2019-10-28
屋顶小黑猫 2015-03-16
芒果先生Mango 2015-03-10
肥皂起司 2015-05-12
zjwijy 2011-12-29
whale 2019-06-30
Geeny 2019-06-28
yinbaoshiguang 2019-06-28
刘炳昭 2019-06-28
Android进阶 2019-06-28
蓝蓝的天 2019-06-28