安卓手机APP开发__屏幕兼容性概述

安卓手机APP开发__屏幕兼容性概述

目录

概述

屏幕大小

灵活的布局

备选的布局

可改写的图像

像素的深度

深度依赖

备选的位图

向量图形


概述

安卓运行各种各样的设备,它们有不同的屏幕大小和屏幕的像素深度。

系统执行基本的缩放和变形来适配在不同的屏幕大小上的用户界面,

但是这里有一些方法来帮助你的用户界面更好地适应每一种类型的屏幕。

这里提供了一个安卓系统上可用的特性,帮助你的APP来适配。对于更多的

如何在不同的屏幕上的构建你的APP的指令,见如下的文档:

支持不同的屏幕大小

支持不同的像素深度

屏幕大小

屏幕大小是你的APP的用户界面的可见的空间。屏幕的大小,它能被你的APP识别,

它不是设备屏幕的实际的大小。APP必须考虑到屏幕的方向,系统方向,例如,导航条

窗口配置改变区,例如当使用多窗口模式时的切换窗口。

灵活的布局

默认情况下,安卓为了适应当前的屏幕大小,会改变你的APP的布局。

对于屏幕大小上的微小变化,为了帮助你的APP的布局更好的调整,实现

你的布局的灵活性。不要硬编码你的用户界面的组件的位置和大小。代替的是

让视图的大小可以改变,指定视图的相对于父级视图的相对位置,这样就可以实现

你的目标顺序以及相对位置在布局有缩放时保持不变。

为了了解更多的灵活布局的知识,见响应式设计。

备选的布局

一个灵活的布局是重要的,但是你也需要设计不同的布局,在不同的设备上,对于

可用的空间上,来优化用户的使用体验。安卓让你提供一个备选的布局文件,系统

基于当前的设备屏幕的大小,在运行时应用布局文件。

为了了解如何创建一个备选的布局,见可适配的设计

可改写的图像

因在你的布局需要为了适配当前的屏幕而改变,所以你要把位图附加到布局视图的可能的位置上。

然而,在任意方向上改变一个普通的位图,能导致很奇怪的缩放,和失真的图像。

为了解决这个问题,安卓支持分成九块的位图,在这个位图上,你能一个小的区域是可以改变的

图像的其它区域是保持不变的。

为了了解更多的关于分成九块的位图,见九块位图的可修改性。

像素的深度

像素的深度就屏幕上一个物理区域上的像素的个数。它被引用为dpi(每英寸上的点数)

这不同于屏幕的分辨率,它是一个屏幕上的总的像素的数量.

深度依赖

当在屏幕上显示不同的像素深度时,当你的用户界面设计的视图的用户视角来看,

它要维持的物理尺寸时,你的APP就达到了"深度依赖"了。维持深度依赖是很重要的,

因为没有了它,一个用户界面元素比如一个按钮在一个低的深度的屏幕上可能出现很大的情况,

并且在一个高的深度的屏幕上又很小的情况。

通过提供独立于深度的像素作为一个度量的单位,安卓帮助你完成了深度依赖。

为了了解关于深度独立的像素,见使用深度独立像素。

备选的位图

为了让你的图像在所有的屏幕上都看起来很好,为了匹配每个屏幕深度,提供了备选的位图。

如果你的APP提供了仅为低深度屏幕准备的位图,当在一个高的深度的屏幕上时,安卓要缩放它

这在位图会引起可见的缩放效应。所以你的APP必须包括在一个高的分辨率下的备选位图。

为了了解如何提供备选的位图,见提供备选的位图。

向量图形

对于简单的类型的图像,例如,图标,通过使用向量图形,你能避免

为每一个深度,创建一个独立的图像。因为,向量图形定义了几何的线条的路径,

来代替像素,它们能以任意的大小进行绘制,而不用缩放。

为了了解关于向量图形的更多的信息,见优先的向量图形。

相关推荐
诸神黄昏EX1 小时前
Android 分区相关介绍
android
大白要努力!2 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Estar.Lee2 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
Winston Wood2 小时前
Perfetto学习大全
android·性能优化·perfetto
Dnelic-5 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen7 小时前
MTK Android12 user版本MtkLogger
android·framework
长亭外的少年15 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿17 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神18 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛18 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee