获取android手机分辨率及相应的处理方式
2023-09-11 14:18:52 时间
我的模拟器都是400*800的,我的布局也是按照这个来制定的。
但是换成640*960的时候就出现了问题。布局明显散了。
首先说一下分辨率的获取方式:
我把分辨率的获取封装到了一个方法中了。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置屏幕分辨率
setResolution();
//获取SP数据库
DBHelper.getDBHelper().setContext(this);
//设置界面
setContentView(new WeatherPage(this));
}
public void setResolution(){
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
//获得手机的宽度和高度像素单位为px
Helper.setWidthPixelsHeightPixels(dm.widthPixels, dm.heightPixels);
}
解决方法想到了3种:
1.尽量少使用直接赋值的元素,比如LayoutParams(400,800);就可改为LayoutParams(-1,-1);
2.定义两套配置文件,需要的每个数值用对象来代替。
比如:
LayoutParams(400,800);就可改为LayoutParams(width,height);
width和height通过配置文件进行赋值。
3.获取分辨率进行数值的转换。这也是我采用的方式。
使用的时候:LayoutParams lpdogpetimg=new LayoutParams(Helper.rTgetWidth(60),Helper.rTgetHeight(60));
调用的是下面的工具类方法:当然工具类需要提前注入分辨率的值。
public class Helper {
private static Helper helper;
private static int widthPixels;
private static int heightPixels;
private Helper() {
// TODO Auto-generated constructor stub
}
public Helper getHelper(){
if(helper==null){
helper=new Helper();
}
return helper;
}
/**
* 输入参数为:分辨率的宽,分辨率的高
* 输入值的宽,输入值的高
*/
public static int rTgetHeight(int height){
double d=((double)heightPixels)/800.00;
double heightd=(double)height*d;
return (int)heightd;
}
public static int rTgetWidth(int width){
double d=((double)widthPixels)/400.00;
double widthd=(double)width*d;
return (int)widthd;
}
public static void setWidthPixelsHeightPixels(int widthPixelss,int heightPixelss){
widthPixels=widthPixelss;
heightPixels=heightPixelss;
}
}
我也是处于安卓开发的初期,对安卓不是特别的懂,
大家如果有什么更好的处理,也希望能够与我分享一下。
相关文章
- Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView
- Android 基于NumberPicker自定义弹出窗口Dialog整合日期选择器
- Android在未root手机获取应用内置的SQLite数据库到电脑上处理的方法(数据库备份与恢复-支持SDK30+)
- Android 25种炫酷动画框架
- Eclipse中android工程C++文件中出现的莫名其妙的错误
- react-native Android 全面屏手机 底部留有一大块黑屏
- Android应用程序窗口(Activity)的窗口对象(Window) 的创建过程分析
- Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径
- Xamarin Android提示内存溢出错误
- 基于 Android 平台的手机安全卫士的设计与实现【100010420】
- Android开发之Bitmap二次采样
- android 双卡手机发短信/判断手机是否为双卡
- Android 获取手机SIM资料详解
- android开发:Android 中自定义属性(attr.xml,TypedArray)的使用
- 《OpenGL ES应用开发实践指南:Android卷》—— 3.7 练习
- 智能驾驶 车牌检测和识别(四)《Android实现车牌检测和识别(可实时车牌识别)》
- ubuntu下管理android手机
- Android---优化下载让网络访问更高效(三)
- Android Studio 基础 之 简单获取手机端所有图片
- android开发全然退出activity
- Android回调事件传播-android学习之旅(四十五)
- M创aterial Design作风Android申请书--创建列表和卡
- 恩布900手机客服,安卓版本号Entboost Android 1.0 正式公布
- 谷歌计划在年内将Android One项目带入美国市场