App Widget:你能指定一个最小和默认大小吗?

drm*_*wer 6 android widget android-appwidget

设计应用程序窗口小部件时,可以为该窗口小部件指定最小宽度和高度.当用户放置新窗口小部件时,最小宽度和高度似乎转换为默认窗口小部件大小(就块而言).

换句话说,初始窗口小部件布局似乎对应于指定的最小窗口小部件大小(随后可以调整大小).

是否可以指定您希望最初按照默认大小布置窗口小部件,同时还设置用户以后无法调整窗口小部件的最小尺寸?

在我的情况下,我认为小部件看起来最好的大小,但如果用户真的想节省空间,它仍然看起来低于该大小.所以我想将默认值设置为我认为最好的默认值,并将最小值设置为真正的下限.

小智 18

这是正确的 - 在您可以使用的应用小部件提供商信息的元数据定义中

minWidthminHeight定义所需的/默认/最佳窗口小部件大小, minResizeWidthminResizeHeight定义允许的最小窗口小部件大小

例如:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
  android:minWidth="286.0dp"
  android:minHeight="146.0dp"
  android:resizeMode="vertical|horizontal"
  android:minResizeWidth="146.0dp"
  android:minResizeHeight="72.0dp"
/>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,默认大小为4 x 2单元格,最小大小为2 x 1

  • 为何采用非标准尺寸?文档说 4x2/2x1 的尺寸应该是 android:minWidth="250dp" android:minHeight="110dp" android:minResizeWidth="110dp" android:minResizeHeight="40dp" (2认同)