我写过一个应该是4x2主屏幕块的小部件。它是minheight和minwidth,根据当前的“App Widget Design Guidelines”页面是
android:minWidth="250dp"
android:minHeight="110dp"
如果系统版本低于冰淇淋三明治,则从dimens.xml应用填充
在我的Nexus 4(xhdpi,Jellybean 4.2.1)上,这个小部件是4x2。在模拟器(hdpi,Gingerbread 2.3.3)上,这个小部件是4x2。然而,在我的Nexus 7(hdpi,Jellybean 4.2.1)上,小部件是3x2。我不能为我的生活弄清楚为什么或如何解决它。有什么想法吗?
答案 0 :(得分:11)
Lars Vogel在this Home Screen Widget tutorial写道:
作为计算规则,您应该使用以下公式定义窗口小部件的大小:((列数/行数)* 74) - 2.这些是设备无关的像素,-2用于避免舍入问题。< / p>
编辑:显然Vogel从old Widget API documentation获得了它(向下滚动到中间页面以查看参考)。
基于此测量,对于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" />