
是否可以在窗口小部件上单击启动对话框,或者是否必须在窗口小部件上启动活动,然后单击对话框?
解决方法:
我相信你已经解决了这个问题,但无论如何我都会写在这里,万一其他像我这样的人会回答这个问题.
要通过单击窗口小部件启动对话框,您可以定义一个样式为对话框的活动,并在单击窗口小部件时启动它.
首先在清单中添加活动,让我们称之为DialogWidgetActivity
<activity androID:name=".DialogWidgetActivity" androID:theme="@androID:style/theme.Dialog" .../>然后在你的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); }}}请注意,这里我们将活动的启动绑定到对话框的Widget_container元素上的单击.您可以通过将ID Widget_container(androID:ID =“@ ID / Widget_container”)分配给窗口小部件布局的根元素来轻松实现此目的.
然后,您可以像对待正常的全屏活动一样编写活动对话框及其布局.
我的消息来源是this answer和the Android documentation.
希望我帮助:)
总结以上是内存溢出为你收集整理的android – Widget在点击时启动Dialog全部内容,希望文章能够帮你解决android – Widget在点击时启动Dialog所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)