屏幕适配方案续章
来源:互联网 发布:人工智能的优点英语 编辑:程序博客网 时间:2024/04/23 15:57
屏幕适配方案续章
[简单粗暴屏幕适配方案]原文
由于原方案导致易开发过程中的种种问题特推出此续章
鉴于以上原因,开发过程和发布建议分离,开发采用原始方案二,发布使用原始方案一,进行结合
谓之方案三 ,奸笑
即:
开发过程(不用单独新建特殊尺寸模拟器解决预览问题)
/** 将此文件直接复制到项目中,不要忘记清单文件配置Application,另 布局中使用pt * (例如: android:layout_height="300pt" 用错可不适配哦!) * 注意:发布时最好改用方案一,因为此方案可能导致部分界面跳转过程中突然适配失效 * 方案一采用在Activity的生命周期中重新配置解决了此问题 */ public class MyApplication extends Application{ public final static float DESIGN_WIDTH = 750; //绘制页面时参照的设计图宽度 @Override public void onCreate() { super.onCreate(); resetDensity();//注意不要漏掉 } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); resetDensity();//这个方法重写也是很有必要的 } public void resetDensity(){ Point size = new Point(); ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay().getSize(size); getResources().getDisplayMetrics().xdpi = size.x/DESIGN_WIDTH*72f; } }
发布改写 (让代码更简洁,易维护<缺点是预览须单独创建模拟器>)
##### 1.引用工具类
DensityHelper.java
##### 2.在自定义的 Application onCreate 方法中加入
new DensityHelper(this, DESIGN_WIDTH).activate(); //DESIGN_WIDTH为设计图宽度,同样不要忘记清单文件配置Application,另 布局中使用pt
为啥使用宽度,不考虑高度呢?
因为高度有状态栏,等比例换算会导致变形
阅读全文
0 0
- 屏幕适配方案续章
- 屏幕适配方案
- 屏幕适配方案
- 屏幕适配方案
- Android屏幕适配方法
- Android屏幕适配方案
- Android屏幕适配方案
- Android屏幕适配方案
- Android屏幕适配方法
- Android 屏幕适配方案
- Android 屏幕适配方案
- Android屏幕适配方案
- Android 屏幕适配方案
- Android 屏幕适配方案
- Android 屏幕适配方案
- Android 屏幕适配方案
- Android 屏幕适配方案
- Android 屏幕适配方案
- AT91SAM9260开发环境的搭建
- spring的线程池
- dropna()
- 树莓派 Linux kali 强制关机后进入只读系统 Read-only file system问题解决
- 利用Scnner类进行键盘输入的两个例子
- 屏幕适配方案续章
- MySQL在字符串类型字段上搜索整型值时无法使用索引
- android.permission.CALL_PHONE 的错误
- 微信小程序开发环境搭建
- 【code design】thread sync task
- 详解SPI中的极性CPOL和相位CPHA
- Lambda表达式
- 【zookeeper读书笔记】第一章--分布式架构
- 安装,配置kafka