【笔记】Android应用自适应设备分辨率
2012-04-19 14:34
441 查看
Android设备种类太过繁杂,分辨率有大不相同;所以在做应用的时候很麻烦,之前都是为不同分辨率的设备做不同的版本,这样就造成了很难维护;
现在解决这个问题的主要思想是:获取设备的分辨率,根据不同的分辨率设备来动态加载布局文件和图片资源;
现在的解决方法是:
1、通过以下代码来获取设备的分辨率,写到配置文件内
2、些不同的视图文件(布局文件XML),来适应不同的分辨率设备(支持主流设备分辨率即可),如下图所示:
3、通过配置文件内的参数来读取布局文件,如下两段代码片段:
现在解决这个问题的主要思想是:获取设备的分辨率,根据不同的分辨率设备来动态加载布局文件和图片资源;
现在的解决方法是:
1、通过以下代码来获取设备的分辨率,写到配置文件内
/** * 自动识别机器分辨率,写配置文件 */ public void getDisplayPixels(){ DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); switch(dm.widthPixels){ case 1024: if(dm.heightPixels == 768){ cfg.setConfig("displayPixels", "0"); } break; case 1280: if(dm.heightPixels == 800){ cfg.setConfig("displayPixels", "1"); } break; default: cfg.setConfig("displayPixels", "-1"); } }
2、些不同的视图文件(布局文件XML),来适应不同的分辨率设备(支持主流设备分辨率即可),如下图所示:
3、通过配置文件内的参数来读取布局文件,如下两段代码片段:
cfg = new ConfigUtils(this, "config"); if(cfg.getConfig("displayPixels", "").equals("0")){ setContentView(R.layout.dishes_details_1024_768); }else{ setContentView(R.layout.dishes_details_1280_800); }
LayoutInflater factory = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = null; if(cfg.getConfig("displayPixels", "").equals("0")){ v = (View)factory.inflate(R.layout.dishes_details_content_1024_768, null); }else{ v = (View)factory.inflate(R.layout.dishes_details_content_1280_800, null); }
相关文章推荐
- (转)Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应问题
- Android 学习笔记 - 【Android自适应不同分辨率或不同屏幕大小】
- Android应用开发学习笔记03--处理设备显示和方向
- Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应问题
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- Android 应用开发笔记 - 对话框(AlertDialog)
- Androidx学习笔记(71)--- 需要支付的应用(调用远程的服务)
- Android进阶笔记07:用MVP架构开发Android应用(MVC 和 MVP)
- Android Binder 机制初步学习 笔记(四,完结)—— Binder 简单应用示例
- Android应用开发学习笔记(2)应用开发初步体验
- Android自适应屏幕方向、大小和分辨率之补充
- Android高级应用开发(基础篇) - stage6 - 学习笔记(下)
- Android菜鸟的成长笔记(2)——第一个Android应用
- 7yue在CSDN上授课的笔记——Android 上的Flash和AIR应用开发
- android如何适配不同分辨率的设备
- Android开发笔记(五十五)手机设备基本操作
- Android自适应不同分辨率或不同屏幕大小的layout布局(横屏|竖屏)
- android应用开发笔记---常用控件RadioGroup和RadioButton及Toast