mok*_*gio 10
我相信你已经解决了这个问题,但无论如何我都会写在这里,万一其他像我这样的人会回答这个问题.
要通过单击窗口小部件启动对话框,您可以定义一个样式为对话框的活动,并在单击窗口小部件时启动它.
首先在清单中添加活动,让我们称之为 DialogWidgetActivity
<activity
android:name=".DialogWidgetActivity"
android:theme="@android:style/Theme.Dialog"
...
/>
Run Code Online (Sandbox Code Playgroud)
然后在你的WidgetProvider中,让我们调用它MyWidgetProvider,通过启动活动来绑定小部件的点击
public class MyWidgetProvider extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this
// provider
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
// Create an Intent to launch the activity-dialog
Intent intent = new Intent(context, DialogWidgetActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to it
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget);
views.setOnClickPendingIntent(R.id.widget_container, pendingIntent);
// Tell the AppWidgetManager to perform an update on the current app
// widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这里我们将活动的启动绑定到对话框的widget_container元素上的单击.您可以通过将id widget_container分配给android:id="@+id/widget_container"窗口小部件布局的根元素来轻松实现此目的.
然后,您可以像对待正常的全屏活动一样编写活动对话框及其布局.
希望我帮助:)
| 归档时间: |
|
| 查看次数: |
5526 次 |
| 最近记录: |