博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Android开发]屏幕适配问题
阅读量:2440 次
发布时间:2019-05-10

本文共 972 字,大约阅读时间需要 3 分钟。

屏幕适配:

目前市面上的主流屏幕是 1280*720
遵循原则:不用AbsoluteLayout(绝对布局),多用相对布局&线性布局(权重),要用dp不用ps。
开发后期,在不同分辨率屏幕上测试(480*800,1920*1080)。
如果后期遇到问题怎么办?

图片适配

将不同分辨率的图片放到不同的图片文件夹下,应用会自动识别,不是很常用。

布局适配

也不是很常用,可以加layout文件夹,比如layout-800x400专门适配480*800的适配。

尺寸适配

dp和px的关系:dp = px/设备密度
//获取设备密度,和分辨率有关
float density = getResources().getDisplayMetrics().display;
320*240(0.75)
480*320(1)
480*800(1.5)
1280*720(2)
对于不同的屏幕,可能会有不同的
values->dimens.xml values-1280x720
对于代码中用到像素值的时候就会发生屏幕界面混乱的情况,我们可以写一个工具类:

public class DensityUtils {
/** * dp转px */ public static int dp2px(Context ctx,float dp) { float density = ctx.getResources().getDisplayMetrics().density; int px = (int)(dp * density + 0.5f); return px; } public static float px2dp(Context ctx,float px) { float density = ctx.getResources().getDisplayMetrics().density; float dp = px / density; return dp; }}

这样我们就不用担心屏幕尺寸适配问题了。

权重适配

android:weightSum="3"

代码适配

获取屏幕宽高,动态计算控件大小

转载地址:http://refqb.baihongyu.com/

你可能感兴趣的文章
二叉树遍历(层次,递归,非递归)
查看>>
判断单链表是否有环、找出两个单链表的交点
查看>>
Android Intent 简介
查看>>
Android Service 简介
查看>>
Windows Phone 8.1 App 图片资源需求列表
查看>>
.NET源码中的栈
查看>>
LeetCode基础--二叉树-求最小高度
查看>>
LeetCode基础--二叉树-判断二叉树是否平衡
查看>>
LeetCode基础--二叉树--反转左右子树
查看>>
LeetCode基础--位运算(in progress)
查看>>
一些对GIS的理解
查看>>
MSDN最新的Windows 10 UWP开发文档链接
查看>>
MSDN最新Windows 10 UWP开发文档资料整理
查看>>
区块链 - 区块链基础知识
查看>>
区块链 - 区块链基础知识:交易哈希链
查看>>
区块链 - 区块链基础知识:智能合约和微服务
查看>>
PSP开发--[1]安装cygwin
查看>>
PSP开发--[2]开发环境
查看>>
PSP开发--[3]PSP错误代码
查看>>
PSP开发--[C]HelloWorld
查看>>