更改默认小部件大小

4

我正在开发一个安卓屏幕小部件。默认大小设置为3x3,但是我不知道如何更改它。请问有谁能够向我解释如何将默认值更改为另一个值吗?


请查看这个问题 - BVantur
3个回答

7
你需要在 appwidget-provider xml 中声明 Widget 的默认大小(和其他属性):
特别是 minWidth 和 minHeight 属性:

https://developer.android.com/guide/topics/appwidgets/index.html

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="40dp"
    android:minHeight="40dp"
    android:updatePeriodMillis="86400000"
    android:previewImage="@drawable/preview"
    android:initialLayout="@layout/example_appwidget"
    android:configure="com.example.android.ExampleAppWidgetConfigure"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen">
</appwidget-provider>

minWidthminHeight属性的值指定App Widget默认消耗的最小空间。默认情况下,主屏幕会根据已定义高度和宽度的单元格网格将App Widget定位在其窗口中。如果App Widget的最小宽度或高度的值与单元格的尺寸不匹配,则App Widget的尺寸会向上舍入到最近的单元格大小。


谢谢,这正是我所需要的。有没有办法将默认大小设置为整个页面? - J. Doe
我相信它只需要dp值,就我所知道的没有自动完成的方法。 - Ken Wolf
@KenWolf 有没有办法我们也可以限制小部件的最大尺寸呢? - Love Garg
@LoveGarg 你试过使用maxWidth和maxHeight吗? - J. Doe

0

很简单,只需进入 res > XML > new_app_widget_info.xml ,打开它,然后你就可以找到

    android:minWidth="320dp"
    android:minHeight="72dp"
    android:previewImage="@drawable/example_appwidget_preview"

这两行是关于小部件大小的,最后一行是关于将显示在应用程序小部件中的图像。


感谢您抽出时间回答。然而,在问题提出5年后,对于某些人来说,过度强调某事的简单易行通常意味着在5年前可能并不是这样,并且除了一种轻蔑的感觉外,并没有为您的回答增添太多内容。 - David

0
您可以在下面设置代码:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider 
   xmlns:android="http://schemas.android.com/apk/res/android" 
   android:minWidth="146dp" 
   android:updatePeriodMillis="0" 
   android:minHeight="146dp" 
   android:initialLayout="@layout/activity_main">
</appwidget-provider>

如果您想了解更多细节,请访问https://www.tutorialspoint.com/android/android_widgets.htm


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接