我写了一个小部件,应该是4x2主屏幕块。它是最小高度和最小宽度,根据当前的"应用程序小部件设计指南"页面是
android:minWidth="250dp"
android:minHeight="110dp"
如果系统版本低于冰淇淋三明治.xml则从 dimens 应用填充
在我的Nexus 4(xhdpi,Jellybean 4.2.1)上,这个小部件是4x2。在模拟器(hdpi,姜饼 2.3.3)上,这个小部件是 4x2。然而,在我的Nexus 7(hdpi,Jellybean 4.2.1)上,小部件是3x2。我一辈子都想不通为什么或如何解决它。有什么想法吗?
Lars Vogel在这个主屏幕小部件教程中写道:
作为计算规则,您应该使用以下公式定义小部件的大小:((列数/行数)* 74) - 2。这些是与设备无关的像素,-2 用于避免舍入问题。
编辑:显然Vogel从旧的Widget API文档中获得了它(向下滚动到页面中间以查看参考)。
根据此测量值,对于 4 个单元格宽度和 2 个单元格高度,请使用 294 x 146 dip:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dip" android:minHeight="146dip"
android:updatePeriodMillis="0" android:initialLayout="@layout/some_layout" />