我们可以使用例如
设置小部件的MINIMUM大小android:minHeight="40dp"
android:minResizeHeight="40dp"
android:minResizeWidth="40dp"
android:minWidth="40dp"
没有android:max___
属性。
有没有办法限制可调整大小的小部件的最大尺寸?
(也许是我没有看到的调整大小回调或类似的东西?)
注意到文档说调整大小的常见用例是列表或网格。这不需要设置最大尺寸。
我的用例只是“客户端要求提供1x1或2x2 的单个窗口小部件”。他会得到他想要的东西,还是我必须为他改变主意?
答案 0 :(得分:5)
有没有办法限制可调整大小的小部件的最大大小?
否,但您可以通过在窗口小部件的XML
文件中禁用水平或垂直重新调整大小来限制用户。
示例:仅适用于水平
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_layout"
android:minHeight="220dp"
android:minWidth="180dp"
android:resizeMode="horizontal"
android:updatePeriodMillis="0"
android:previewImage="@drawable/widget_all_in_one_preview"/>
示例:仅适用于垂直
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_layout"
android:minHeight="220dp"
android:minWidth="180dp"
android:resizeMode="vertical"
android:updatePeriodMillis="0"
android:previewImage="@drawable/widget_all_in_one_preview"/>
您也可以通过以下方式执行这两项操作:
android:resizeMode="horizontal|vertical"
确保您使用NinePatch
张图片或以编程方式设置Background
颜色。
OR 提供固定尺寸Widget
以确保安全:)
我希望它有所帮助
答案 1 :(得分:2)
迟了几年,但也许要进行第二次布局,如果用户超过最大宽度/高度,则小部件将切换到该布局,并且尺寸不再增加到match_parent。
使用具有预定义最大高度/宽度的布局,并在框架布局内添加嵌套,以控制其在边界区域内的位置。
答案 2 :(得分:0)
正如@Sami Eltamawy 所说,您无法设置最大高度。但您可以在小部件布局中设置: layout_height="wrap_content"。
通过这种方式,小部件的大小将受限于您的内容。
我知道这对 OP 没有帮助,但可以帮助其他人