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中利用DisplayMetrics取得手机屏幕大小
  2. Android常用屏幕适配方式
  3. 头条Android 屏幕适配
  4. android如何处理不同屏幕的适配
  5. android:初级 [Android] Eclipse Android中设置模拟器屏幕大小几
  6. android字体大小多屏幕适配

随机推荐

  1. 使用 ThreadLocal 变量的时机和方法
  2. JDK1.8 ConcurrentHashMap的size
  3. 手把手教你用 Java 实现 AOP
  4. 谁在关心 toString 的性能
  5. 线程池调整真的很重要
  6. 偏执却管用的 10 条 Java 编程技巧
  7. Java 面试参考指南( 一 )
  8. 连接池大小调优
  9. Java 面试参考指南( 二 )
  10. 多线程环境下生成随机数