【问题标题】:Widget occupies extra cells小部件占用额外的单元格
【发布时间】:2013-09-24 07:47:40
【问题描述】:

我有一个用于 xhdpi 设备 (API 14+) 的 150 x 210 dp 小部件。当我添加小部件时,它占用的空间超出了应有的空间。它允许我调整它的大小以占用更小的空间(但为什么不以最小尺寸添加它(就像我调整它的大小时一样)?)因为我可以调整它以使其更小,我猜我为最小值指定的值大小是正确的...我的期望是默认占用我指定的最小大小,而不仅仅是在我调整大小时...

<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>

【问题讨论】:

    标签: android android-widget


    【解决方案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.

    中看到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-08
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多