android-支持多种屏幕[设计替代布局和可绘制对象] 六
来源:互联网 发布:1080a最新x站免费域名 编辑:程序博客网 时间:2024/06/04 17:51
您应该创建的备用资源类型取决于应用的需求。 通常,您应该使用尺寸和方向限定符提供替代布局资源 ,并且使用密度限定符提供替代位图可绘制对象资源。
以下各节摘要说明您可能要如何使用尺寸和密度限定符 来分别提供替代布局和可绘制对象。
替代布局
一般而言,在不同的屏幕配置上测试应用后,您会知道 是否需要用于不同屏幕尺寸的替代布局。例如:
- 在小屏幕上测试时,可能会发现您的布局不太适合 屏幕。例如,小屏幕设备的屏幕宽度可能无法容纳一排 按钮。在此情况下,您应该为小屏幕提供调整 按钮大小或位置的替代布局。
- 在超大屏幕上测试时,可能会发现您的布局无法 有效地利用大屏幕,并且明显拉伸填满屏幕。 在此情况下,您应该为超大屏幕提供替代布局,以提供 针对大屏幕(例如平板电脑)优化、重新设计的 UI。
虽然您的应用不使用替代布局也能在大屏幕上正常运行,但 必须让用户感觉您的应用看起来像是专为其 设备而设计。如果 UI 明显拉伸,用户很可能对 应用体验不满意。
- 而且,对比横屏测试和竖屏测试时 可能会发现,竖屏时置于底部的 UI 在横屏时应位于屏幕右侧。
简而言之,您应确保应用布局:
- 适应小屏幕(让用户能实际使用您的应用)
- 已针对大屏幕优化,可以利用其他屏幕空间
- 已同时针对横屏和竖屏方向优化
如果 UI 使用的位图即使在系统缩放 布局后也需要适应视图大小(例如按钮的背景图片),则应使用九宫格位图文件。九宫格文件基本上是一个指定可拉伸的二维区域的 PNG 文件。 当系统需要缩放使用位图的视图时,系统 会拉伸九宫格位图,但只拉伸指定的区域。因此,您无 需为不同的屏幕尺寸提供不同的可绘制对象,因为九宫格位图可 调整至任何大小。但您应该为不同的屏幕密度提供 九宫格文件的替代版本。
替代可绘制对象
基本上每个应用都应该具有不同密度的替代可绘制对象 资源,因为基本上每个应用都有启动器图标,而且该图标应该在 所有屏幕密度中看起来都很好。同样,如果您的应用中包含其他位图可绘制对象(例如 应用中的菜单图标或其他图形),则应该为不同密度提供替代版本或 每种密度一个版本。
图 4. 支持每种密度的 位图可绘制对象的相对大小。
注:您只需要为 位图文件(.png
、.jpg
或 .gif
)和九宫格文件 (.9.png
) 提供密度特定的可绘制对象。如果您使用 XML 文件定义形状、颜色或其他可绘制对象资源,应该 将一个副本放在默认可绘制对象目录中 (drawable/
)。
要为不同的密度创建替代位图可绘制对象,应遵循六种通用密度之间的 3:4:6:8:12:16 缩放比率。例如,如果您的 位图可绘制对象是对中密度屏幕使用 48x48 像素,则所有不同的尺寸应为:
- 36x36 (0.75x) 用于低密度
- 48x48(1.0x 基线)用于中密度
- 72x72 (1.5x) 用于高密度
- 96x96 (2.0x) 用于超高密度
- 144x144 (3.0x) 用于超超高密度
- 192x192 (4.0x) 用于超超超高密度(仅限启动器图标;请参阅上面的 注)
如需了解有关设计图标的更多信息,请参阅图标设计指南, 其中包含各种位图可绘制对象(例如启动器图标、菜单 图标、状态栏图标、选项卡图标等)的大小信息。
- android-支持多种屏幕[设计替代布局和可绘制对象] 六
- android支持多种屏幕
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- Android UI --支持多种屏幕
- Android如何支持多种屏幕
- Android如何支持多种屏幕
- Android如何支持多种屏幕
- Android如何支持多种屏幕
- android-支持多种屏幕[如何支持多种屏幕] 四
- android-支持多种屏幕[声明适用于 Android 3.2 的平板电脑布局] 七
- Android针对多种屏幕进行设计(一)支持各种屏幕尺寸
- Android 针对多种屏幕进行设计 (一)支持各种屏幕尺寸
- Android 针对多种屏幕进行设计 (二)支持各种屏幕密度
- Spring Task cron的表达式
- 虚函数与虚继承
- Git 常用命令总结
- UIKit和Core Graphics绘图——字符串,线条,矩形,渐变
- iOS最好用的引导页
- android-支持多种屏幕[设计替代布局和可绘制对象] 六
- 设计模式-11 迭代器模式
- java(六)字符串与equals
- 百度面经(实习)
- 微信端发消息时而成功时而失败并提示:该公众账号暂时无法提供服务,请稍后再试
- ACTION_CALL和ACTION_DIAL的区别
- python BM
- 17-hive表格式
- Eclipse插件svn和TortoiseSvn版本对应关系