Android小部件无法渲染,资源中的错误xml?

时间:2015-11-28 16:52:59

标签: android xml resources widget manifest

我在模拟器上显示小部件时遇到了一些问题。 我创建了widget_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/email_button"
        android:src="@android:drawable/ic_dialog_email"
        />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/search_button"
        android:src="@android:drawable/ic_search_category_default"
        />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/map_button"
        android:src="@android:drawable/ic_dialog_map"
        />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/info_button"
        android:src="@android:drawable/ic_dialog_info"
        />

    </LinearLayout>

然后我创建了新的资源文件widget.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minHeight="250dp"
    android:minWidth="40dp"
    android:previewImage="@drawable/widget_preview"
    android:initialLayout="@layout/widget_layout"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen">
</appwidget-provider>

当然,我已添加到清单(</activity>之后和</application>之前):

<receiver android:name=".AppWidget">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                android:resource="//HERE MY widget.xml is not seen"/>
        </receiver>

首先,我不知道为什么,我的xml/widget无法被Android Studio识别,如下所示:

Not seen xml/widget

这是我项目的结构:

Structure of the project

我相信这就是我运行模拟器后为什么没有显示小部件的原因。我的代码出了什么问题?

修改 这里的问题出在发射器上。重启后,效果很好。然而,仍然没有在清单中看到该文件夹​​。我不知道这是不是一个错误,但如果我手动编写,那么一切都很好。

2 个答案:

答案 0 :(得分:0)

将此添加到清单?

<activity android:name=".ExampleAppWidgetConfigure">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
    </intent-filter>
</activity>

答案 1 :(得分:0)

这里的问题出在发射器上。重启后,效果很好。然而,仍然没有在清单中看到该文件夹​​。我不知道这是不是一个错误,但如果我手动编写,那么一切都很好。