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);
}
}
分享到:
相关推荐
基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj
2,jdk-170.tar.gz ——————————JDK1.7deb包 3,switch_java.sh -------------------------java其它版本切换 4,check_java.sh———————————版本核对 注意:使用命令接口切换时,需要将自己配置的...
python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...
微信小程序——新闻客户端(截图+源码).zip 微信小程序——新闻客户端(截图+源码).zip 微信小程序——新闻客户端(截图+源码).zip 微信小程序——新闻客户端(截图+源码).zip 微信小程序——新闻客户端(截图+...
python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ...
C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....
Android support.v7包
16. 哭——笑 17. 臭——香 18. 丑——美 19. 出——入 20. 东——西 21. 有——无 22. 多——少 23. 古——今 24. 入——出 25. 穷——富 26. 轻——重 27. 细——粗 28. 快——慢 29. 爱——恨 30. 哭——笑 31. ...
大创项目——区块链追溯系统.zip大创项目——区块链追溯系统.zip大创项目——区块链追溯系统.zip大创项目——区块链追溯系统.zip大创项目——区块链追溯系统.zip大创项目——区块链追溯系统.zip大创项目——区块链...
微信小程序——我厨 tab 界面设计(截图+源码).zip 微信小程序——我厨 tab 界面设计(截图+源码).zip 微信小程序——我厨 tab 界面设计(截图+源码).zip 微信小程序——我厨 tab 界面设计(截图+源码).zip 微信...
Android中文翻译组——Android中文API合集(4).chm
在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备拥有各种各样的屏幕尺寸、分辨率和像素密度。为了确保应用程序在所有设备上都能提供一致且良好的用户体验,开发者需要掌握有效的屏幕适配策略。...
在你提供的资料中,提到了一个名为“为apk签android.uid.system名工具包”,这个工具包包含三个关键文件:signapk.jar、platform.x509.pem和platform.pk8,它们是用来将APK签署为具有`android.uid.system`权限的工具...
现场评定检查表——建筑类别与耐火等级表.docx
2014.3.29的题 笔试时间6.30——8.30.两个小时.刚做完就贴上来了
使用Axure设计三级联动选择器(如省市区选择器)时,可以利用中继器的数据存储和动态交互功能来实现。...———————————————— 原文链接:https://blog.csdn.net/u010709330/article/details/143576305
Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。 Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 ...
5. **仿真**:Vivado提供了两种主要的仿真工具——ModelSim和ISim,用于验证设计的功能是否符合预期。 6. **许可证管理**:用户需要确保许可证文件设置正确,以避免在设计过程中遇到功能限制或软件崩溃问题。可以...
第4 章 Linux——App 后台应用最广泛的系统 .. 107 第5 章 Nginx——App 后台HTTP 服务的利器 . 126 第6 章 MySQL——App 后台最常用的数据库 .. 140 第7 章 Redis——App 后台高性能的缓存系统 . 160 第8 章 ...