平板电脑和手机之间的应用小部件不一致大小

时间:2013-03-02 02:56:49

标签: java android android-view homescreen android-appwidget

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

我使用DDMS中的“Dump View Hierarchy for UI Automator”工具做了以下观察 - > Eclipse的设备视图: enter image description here

1 x 1方格中给出的空间会根据屏幕密度,方向以及手机主屏幕是处于“手机模式”还是“平板电脑模式”而变化(启动4.x模拟器,您可以通过背景知道除其他外)。屏幕密度影响大小与预期(0.75,1,1.5,2.0密度因子缩放),但方向和'主屏模式'是非常不可预测的。具体做法是:


HOMESCREEN上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宽高比

所以我坚持:

  • 手机和平板电脑模式之间的宽高比不一致
  • 在某些情况下,为app小部件提供的区域较小,然后是应用程序快捷方式的区域。因此,在平板电脑和手机上,小部件的相对大小和感知大小会有所不同吗?
  • 较小的区域甚至不是垂直居中的,它们大多是顶部对齐的2dp上边距,这意味着它们甚至看起来与相邻的应用程序快捷方式不一致,更不用说在尝试产生类似的外观时通过小部件快捷方式

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

电话 - 端口:enter image description here

平板电脑 - 登陆:enter image description here

平板电脑 - 端口:enter image description here

最重要的是,平板电脑上的小工具的蓝色区域是否包含空间,系统快捷方式在其中绘制文本?

有没有人有见解:

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

2 个答案:

答案 0 :(得分:1)

更好的是,许多发射器允许用户自定义其网格的大小。根据{{​​3}},您不能依赖所有设备上的确切尺寸。相反,确定最小宽度和高度,让主屏幕确定布局占用的方格数。

它们确实提供了一些关于单元格最小尺寸的指导(并且所有数字都比看上去的要大得多),但是自定义发射器也可以将这个最小值降低甚至更低。

我发现最好关注布局中需要的组件(按钮等),然后按照design guidelines for App Widgets确定最小尺寸(注意边距会自动添加到Android 4.0以上的设备上,但不在< 4.0设备上)。然后确保您的布局足够动态,以填充提供给他们的空间(适当地居中文本等)。请记住,小部件被假定为框架式单一条目,而不是Metrics and Grids design guidelines中所述的浮动文本。

答案 1 :(得分:0)

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

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

布局大

布局小

布局XLARGE

布局景观

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