Android 小部件 - 需要 4x2 小部件 获取 1x1 小部件

Posted

技术标签:

【中文标题】Android 小部件 - 需要 4x2 小部件 获取 1x1 小部件【英文标题】:Android Widget - Need 4x2 widget Getting 1x1 widget 【发布时间】:2013-10-20 14:40:27 【问题描述】:

我正在开发我的第一个小部件。 (在索尼 Xperia Go 上测试)

这是我的 widget_info.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" >

    <appwidget-provider
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:initialLayout="@layout/layout_widget"
        android:minHeight="110dp"
        android:minWidth="250dp"
        android:updatePeriodMillis="180000" />

</appwidget-provider>

我正在使用这个公式来计算 minHeigh 和 minWidth 70 × n - 30 根据给定的Here

期待:

获取:

这是我的 widget_layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:layout_margin="8dip"
    android:background="@drawable/background_semi_transparent_black"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/upper_row"
        android:layout_
        android:layout_
        android:orientation="horizontal"
        android:padding="10dp" >

        <LinearLayout
            android:layout_
            android:layout_
            android:layout_weight="2"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/word"
                android:layout_
                android:layout_
                android:text="Word" />

            <TextView
                android:id="@+id/meaning"
                android:layout_
                android:layout_
                android:text="Meaning.." />
        </LinearLayout>

        <ImageView
            android:id="@+id/shuffle"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:contentDescription="Shuffle Word List"
            android:src="@drawable/shuffle" />
    </LinearLayout>

    <TextView
        android:id="@+id/textView1"
        android:layout_
        android:layout_
        android:background="#999"
        android:text="" />

    <LinearLayout
        android:id="@+id/lower_row"
        android:layout_
        android:layout_
        android:orientation="horizontal"
        android:padding="10dp" >

        <ImageView
            android:id="@+id/imageView2"
            android:layout_
            android:layout_
            android:layout_gravity="left"
            android:layout_weight="1"
            android:gravity="left"
            android:scaleType="fitStart"
            android:src="@drawable/previous" />

        <TextView
            android:id="@+id/list_title"
            android:layout_
            android:layout_
            android:layout_gravity="center"
            android:layout_weight="2"
            android:gravity="center"
            android:text="List Name"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <ImageView
            android:id="@+id/imageView3"
            android:layout_
            android:layout_
            android:layout_weight="1"
            android:gravity="right"
            android:scaleType="fitEnd"
            android:src="@drawable/next" />
    </LinearLayout>

</LinearLayout>

【问题讨论】:

【参考方案1】:

尝试将您的 widget_info.xml 更改为:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:initialLayout="@layout/layout_widget"
        android:minHeight="110dp"
        android:minWidth="250dp"
        android:updatePeriodMillis="180000">

</appwidget-provider>

并确保您的小部件在清单中声明 android:resource="@xml/widget_info"

【讨论】:

非常感谢。有效。我犯了这么愚蠢的错误。嵌套标签:/ 谢谢

以上是关于Android 小部件 - 需要 4x2 小部件 获取 1x1 小部件的主要内容,如果未能解决你的问题,请参考以下文章

Android:多个 AppWidgets - 一个清单条目

需要获取数据的 Android 小部件仅显示加载

Android桌面小部件AppWidget开发

Android 桌面小部件(AppWidgetProvider)的应用

使用 phonegap 创建 Android 小部件

我的 Android 小部件被杀死,“不再需要 bellander.andro ....”