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);    }}



更多相关文章

  1. Android(安卓)ADT & SDK离线下载地址
  2. Android(安卓)-- 重写android返回键
  3. 头条Android(安卓)屏幕适配
  4. Android(安卓)Activity生命周期是如何实现的
  5. android APP如何实现launcher
  6. Android(安卓)Studio下载安装教程及开发环境搭建
  7. 2019-01-21 Android(安卓)UI之SeekBar实际开发中的问题与范例
  8. Android(安卓)AbsListView坐标体系解析
  9. 沉浸式状态栏StatusBar

随机推荐

  1. 系出名门Android(10) - HTTP 通信, XML
  2. Android实现宫格图片连续滑动效果
  3. android 9Path图片的使用
  4. Android(安卓)conversion to dalvik form
  5. Android网络请求发展简史和RxJava+Retrof
  6. Android中三种常用解析XML的方式(DOM、SAX
  7. Android事件分发机制完全解析,带你从源码
  8. android每日一问2【2011-8-28】
  9. Android多媒体学习三:实现自己的Camera
  10. 【Android(安卓)开发】:数据存储之File文