小部件占用额外的单元格

时间:2013-09-23 20:01:35

标签: android android-widget

我有一个150 x 210 dp的xhdpi设备小部件(API 14+)。当我添加小部件时,它占用的空间比它应该多。它允许我调整它以占用更小的空间(但是为什么它没有以最小尺寸添加(比如当我调整它时)?)因为我大小调整它以使其变小,我想我指定的值最小大小是正确的...我的期望是默认占用我指定的最小尺寸,不仅仅是在我调整大小时......

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="@dimen/recording_widget_min_width"
    android:minHeight="@dimen/recording_widget_min_height"
    android:updatePeriodMillis="86400000"
    android:previewImage="@drawable/ic_launcher"
    android:initialLayout="@layout/recording_widget_layout"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen">    
</appwidget-provider>

values-xhdpi-v14文件夹:

<resources>
    <dimen name="recording_widget_min_width">150dp</dimen>
    <dimen name="recording_widget_min_height">210dp</dimen>        
</resources>

1 个答案:

答案 0 :(得分:1)

minWidth和minHeight顾名思义,最小值。他们说图像可能比这些值大,但不能更小。

例如,如果将minWidth和minHeight都设置为100,但是您提供的资源a的内部大小为50 x 50,则它将被拉伸到100 x 100.但是如果您提供的资源大于100 x 100它将以它的固有宽度和高度绘制。

为了更好地理解,研究android如何将视图绘制到屏幕上。特别是在onMeasure中查看MeasureSpecs的使用。有关这方面的非常好的解释可以在FlowLayout example at the end of this video lecture by Romain Guy.

中看到