3

我正在尝试设计一个应用程序,它重现标准应用程序快捷方式主屏幕图标的快捷方式样式,但作为小部件。请注意,这目前只是查看标准的 Android 主屏幕。

我使用 Eclipse 的 DDMS -> Devices 视图中的“Dump View Hierarchy for UI Automator”工具进行了以下观察: 在此处输入图像描述

1 x 1 正方形中给出的空间会根据屏幕密度、方向以及手机主屏幕是处于“手机模式”还是“平板电脑模式”而变化(启动 4.x 模拟器,您可以通过背景来判断) )。屏幕密度会按预期影响尺寸(0.75、1、1.5、2.0 密度因子缩放),但方向和“主屏幕模式”非常难以预测。具体来说:


主屏幕上 1x1“正方形”的尺寸

电话模式:

  • 纵向:80dp x 100dp = 4:5 纵横比
  • 横向(如果可用 - 未经彻底测试):106dp x 74dp = 53:37 纵横比

平板模式:

  • 纵向:96dp x 96dp = 1:1 纵横比
  • 横向:96dp x 96dp = 1:1 纵横比

如您所见,几乎没有任何一致性,但这些是主屏幕上“正方形”的尺寸。当查看实际分配给小部件的空间时,情况会变得更糟(是的,它确实不同于系统快捷方式小部件可用和使用的方形空间):


尺寸赋予 1x1“正方形”中的小部件

电话模式:

  • 纵向:80dp x 100dp = 4:5 纵横比
  • 横向(如果可用 - 未经彻底测试):90dp x 58dp = 45:29 纵横比

平板模式:

  • 纵向:72dp x 72dp = 1:1 纵横比
  • 横向:72dp x 72dp = 1:1 纵横比

所以我坚持:

  • 手机和平板电脑模式之间的纵横比不一致
  • 在某些情况下,为应用程序小部件提供的区域比应用程序快捷方式的区域更小。因此,小部件的相对大小和感知大小在平板电脑和手机上看起来会非常不同?
  • 较小的区域甚至没有垂直居中,它们大多与 2dp 上边距对齐,这意味着它们甚至看起来与相邻的应用程序快捷方式不对齐,更不用说尝试通过小部件

为了可视化,下图显示了默认的系统快捷方式(周围有一个红色框,显示“方形尺寸 - 系统快捷方式和小部件始终共享)。旁边是我的小部件,蓝色突出显示了MATCH_PARENT设置的边界,因此小部件实际上可以在其“正方形”内绘制:

电话 - 端口:在此处输入图像描述

平板电脑 - 土地:在此处输入图像描述

平板电脑 - 端口:在此处输入图像描述

从这里最重要的是,平板电脑上小部件的蓝色区域甚至不包括系统快捷方式绘制其文本的空间吗?

有没有人有见解:

  1. 为什么主屏幕如此不一致?
  2. 为什么应用程序小部件没有与系统快捷方式相同的绘图空间/或者应该是,我做错了什么?
  3. 我应该做其他事情,还是只是接受对于占用其所有给定绘图空间的 1x1 小部件,它在平板电脑上看起来比在手机上看起来“更小”(与其周围环境相比)?
4

2 回答 2

1

更好的是,许多启动器允许用户自定义其网格的大小。根据App Widgets 的设计指南,您不能依赖所有设备上的确切尺寸。相反,确定最小宽度和高度,并让主屏幕确定布局占用多少个正方形。

他们确实提供了一些关于您可以期望的最小单元大小的指导(并且您所有的数字都比看起来要大得多),但是自定义启动器可能再次将这个最小值降低到更低。

我发现最好关注您的布局中需要哪些组件(按钮等),然后遵循Metrics and Grids 设计指南来确定您的最小尺寸(注意边距会在 Android 4.0+ 设备上自动添加,但不会在 < 4.0 设备)。然后确保您的布局足够动态以填充提供给它们的空间(居中文本等,视情况而定)。请记住,小部件被假定为带框的单个条目,而不是应用小部件设计指南中所述的浮动文本。

于 2013-03-02T03:27:28.653 回答
0

嘿,您可以在要为不同屏幕尺寸以及横向和纵向创建不同布局的布局中管理屏幕尺寸。

在您的资源文件夹中创建以下布局,如下所示:

布局-大

布局小

布局-xlarge

布局-横向

然后将您的 XML 文件复制到其中并检查不同设备的预览屏幕,您可以根据该想法来修改主屏幕中小部件的大小。

于 2013-03-02T04:02:13.407 回答