如何在窗口小部件中添加加载

时间:2012-12-19 21:10:16

标签: android android-widget

当我在家中添加我的小部件时,我有几个过程,如何在尚未准备好的情况下添加“加载图像”?

我看到Youtube小部件有这个。

谢谢!

2 个答案:

答案 0 :(得分:4)

我做到了! =)

我不知道这是否是最好的方法,让我告诉你:

在我的小部件xml上,我添加了第二个布局,其中包含进度条:

widget_layout.xml

<LinearLayout android:id="@+id/progressLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ProgressBar android:id="@+id/widgetProgressBar" android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

我在原始版面上添加了以下代码:

android:visibility="gone"

然后,当我的所有过程结束时,我这样做了:

RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_layout);

remoteViews.setViewVisibility(R.id.progressLayout, View.GONE);
remoteViews.setViewVisibility(R.id.layout, View.VISIBLE);

appWidgetManager.updateAppWidget(widgetId, remoteViews);

如果有人有更好的方法,请告诉我们!

答案 1 :(得分:0)

你试过ProgressBar吗?当您开始此过程时,您可以使用以下代码:

ProgressDialog mDialog;  //create a member vairable


//put this in what ever method you start your process
mDialog = new ProgressDialog(getApplicationContext());
mDialog.setMessage("Loading...");
mDialog.setCancelable(false);
mDialog.show();

完成所有流程后,您可以致电:

//call this when all processes are finished
mDialog.cancel();