- 浏览: 2214378 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
把AppWidget添加到桌面后,点击AppWidget后AppWidget文本会轮回改变
main.xml布局文件:
res/xml/widget.xml布局文件:
AndroidManifest.xml:
变量类UtilTool.java:用来控件文本改变:
IaiaiWidget.java类:
运行结果:
main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:id="@+id/layout" android:layout_height="fill_parent"> <Button android:text="@string/login" android:id="@+id/TextView01" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> </LinearLayout>
res/xml/widget.xml布局文件:
<?xml version="1.0" encoding="UTF-8"?> <!-- AppWidgetProvderInfo: 描述AppWidget的大小、更新频率和初始界面等信息,以XML文件形式存在于应用的res/xml/目录下。 注意:SDK1.5之后此android:updatePeriodMillis就失效了,要自己创建service更新 --> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="60dp" android:minHeight="30dp" android:updatePeriodMillis="86400000" android:initialLayout="@layout/main"> </appwidget-provider>
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iaiai.activity" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <!-- <activity android:name="IaiaiActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> --> <receiver android:name=".IaiaiWidget" android:label="添加桌面控件"> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget"></meta-data> <intent-filter> <action android:name="com.iaiai.widget.click"></action> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> </receiver> </application> </manifest>
变量类UtilTool.java:用来控件文本改变:
package com.iaiai.activity; /** * * <p> * Title: UtilTool.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-6-24 * </p> * * @author 丸子 * @version 0.0.1 */ public class UtilTool { public static boolean isChange = true; }
IaiaiWidget.java类:
package com.iaiai.activity; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.RemoteViews; /** * * <p> * Title: IaiaiWidget.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-6-24 * </p> * * @author 丸子 * @version 0.0.1 */ public class IaiaiWidget extends AppWidgetProvider { private static final String CLICK_NAME_ACTION = "com.iaiai.widget.click"; private static RemoteViews rv; @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); Log.i("**************", "onReceive"); if (rv == null) { rv = new RemoteViews(context.getPackageName(), R.layout.main); } if (intent.getAction().equals(CLICK_NAME_ACTION)) { if (UtilTool.isChange) { rv.setTextViewText(R.id.TextView01, "abc"); } else { rv.setTextViewText(R.id.TextView01, "123"); } UtilTool.isChange = !UtilTool.isChange; AppWidgetManager appWidgetManger = AppWidgetManager .getInstance(context); int[] appIds = appWidgetManger.getAppWidgetIds(new ComponentName( context, IaiaiWidget.class)); appWidgetManger.updateAppWidget(appIds, rv); } else { super.onReceive(context, intent); } } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.i("**************", "onUpdate"); final int N = appWidgetIds.length; for (int i = 0; i < N; i++) { int appWidgetId = appWidgetIds[i]; updateAppWidget(context, appWidgetManager, appWidgetId); } } private void updateAppWidget(Context context, AppWidgetManager appWidgeManger, int appWidgetId) { rv = new RemoteViews(context.getPackageName(), R.layout.main); Intent intentClick = new Intent(); intentClick.setAction(CLICK_NAME_ACTION); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intentClick, 0); rv.setOnClickPendingIntent(R.id.TextView01, pendingIntent); appWidgeManger.updateAppWidget(appWidgetId, rv); } }
运行结果:


发表评论
-
带你深入理解 FLUTTER 中的字体“冷”知识
2020-08-10 23:40 652本篇将带你深入理解 Flutter 开发过程中关于字体和文 ... -
Flutter -自定义日历组件
2020-03-01 17:56 1124颜色文件和屏幕适配的文件 可以自己给定 import ... -
Dart高级(一)——泛型与Json To Bean
2020-02-23 19:13 1021从 Flutter 发布到现在, 越来越多人开始尝试使用 Da ... -
flutter loading、Progress进度条
2020-02-21 17:03 1195Flutter Progress 1 条形无固定值进度条 ... -
Flutter使用Https加载图片
2020-02-21 01:39 1040Flutter使用Https加载图片 使用http加载图片出 ... -
flutter shared_preferences 异步变同步
2020-02-21 00:55 860前言 引用 在开发原生iOS或Native应用时,一般有判断上 ... -
Flutter TextField边框颜色
2020-02-19 21:31 952监听要销毁 myController.dispose(); T ... -
flutter Future的正确用法
2020-02-18 21:55 814在flutter中经常会用到异步任务,dart中异步任务异步处 ... -
记一次Flutter简单粗暴处理HTTPS证书检验方法
2020-02-18 14:13 998最近在做Flutter项目到了遇到一个无解的事情,当使用Ima ... -
flutter 获取屏幕宽度高度 通知栏高度等屏幕信息
2019-07-27 08:39 1361##MediaQuery MediaQuery.of(con ... -
关于flutter RefreshIndicator扩展listview下拉刷新的问题
2019-07-10 19:40 1155当条目过少时listview某些嵌套情况下可能不会滚动(条目 ... -
flutter listview 改变状态的时候一直无限添加
2019-07-10 16:01 813setstate的时候会一直无限的调用listview.bui ... -
Flutter Android端启动白屏问题的解决
2019-07-09 00:51 1543问题描述 Flutter 应用在 Android 端上启动时 ... -
Flutter中SnackBar使用
2019-07-08 23:43 797底部弹出,然后在指定时间后消失。 注意: build(Bui ... -
Flutter 之点击空白区域收起键盘
2019-07-08 18:43 1802点击空白处取消TextField焦点这个需求是非常简单的,在学 ... -
Flutter 弹窗 Dialog ,AlertDialog,IOS风格
2019-07-08 18:04 1398import 'package:flutter/mate ... -
flutter ---TextField 之 输入类型、长度限制
2019-07-08 14:30 2355TextField想要实现输入类型、长度限制需要先引入impo ... -
【flutter 溢出BUG】键盘上显示bottom overflowed by 104 PIXELS
2019-07-08 11:13 1596一开始直接使用Scaffold布局,body:new Colu ... -
解决Flutter项目卡在Initializing gradle...界面的问题
2019-07-07 12:53 898Flutter最近很火,我抽出了一点时间对Flutter进行了 ... -
关于android O 上 NotificationChannel 的一些注意事项
2019-07-04 11:47 952最近在适配android O,遇到个问题,应用中原本有设置界面 ...
相关推荐
这个“android 源码 android Widget开发案例 eclipse项目 直接导入”是一个很好的学习资源,帮助开发者深入理解如何构建和定制Widget。通过Eclipse IDE可以直接导入该项目,快速开始学习。 首先,我们需要了解...
在Android应用开发中,Widget是桌面小部件,它允许用户在主屏幕上与应用程序进行交互,无需实际打开应用...对于初学者和有经验的开发者来说,这些实例都是宝贵的参考资料,有助于深入理解和掌握Android Widget开发。
Android Widget开发学习教程主要涵盖了如何创建和配置一个基本的Widget,包括以下几个关键步骤: 1. **创建AppWidgetProvider子类**: 一个Android Widget的核心是`AppWidgetProvider`类,它是BroadcastReceiver的...
# Android Widget开发代码示例详细说明 ## 一、概览 在Android系统中,Widget是一种可以在用户桌面上提供快捷操作或显示应用相关信息的小部件。它们可以被看作是应用程序的一部分,但通常独立于主应用运行。Widget...
总的来说,Android Widget开发涉及多个组件和步骤,包括创建AppWidgetProvider、注册Receiver、定义布局和处理数据更新。通过熟练掌握这些知识,开发者可以构建出功能丰富的桌面小部件,为用户提供便捷的服务。
Widget开发不仅能够提升用户对应用的粘性,还能在不打开完整应用的情况下提供有用信息,是Android开发者值得掌握的一项技能。希望本文能为你开启Widget开发的大门,激发你在这一领域的探索与创新。
Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!),主要向大家讲解使用Android Widget如何编写出一款世界杯风格的倒计时程序,教程说出了制作步骤和代码。
本资料包"androidWidget小组件开发.zip"包含了一个名为"MyWidget"的示例项目,可能包含了关于如何创建和实现Android Widget小组件的代码和资源。 1. **Widget组件概述** - Android Widget是Android系统中的一个...
本示例源码提供了学习Android Widget开发的实战案例,你可以通过阅读和调试代码来加深理解。同时,结合Android官方文档和其他在线教程,将有助于你更好地掌握Widget开发的精髓。 总之,Android Widget小组件开发是...
总的来说,学习和理解Android Widget开发不仅可以提升应用的用户体验,也是Android开发者进阶的必经之路。通过分析这个源码,你将能掌握Widget的设计原则和实践技巧,为你的应用增添更多实用和互动的功能。
在这个压缩包中,包含了一个完整的Android应用源码,可以作为深入理解Android Widget开发的参考资料。 1. **Android Widget概述** - Android Widget是Android系统提供的桌面小部件,它可以展示应用程序的部分功能...
在Android开发中,Widget是应用于桌面的小部件,它允许用户在主屏幕上直接与应用程序进行交互,而无需打开应用程序本身...在考试或实际工作中,熟练掌握Widget开发能够提升应用的用户体验,增强应用程序的桌面存在感。
虽然由于权限限制未能实现完整的功能,但它为我们提供了学习和实践Android Widget开发的一个良好起点。通过深入理解并扩展这个例子,开发者可以创建更多丰富多样的桌面Widget,提升应用的用户体验。
在Android应用开发中,Widget组件是用户界面的一个重要组成部分,它允许开发者将应用程序的功能和信息直接展示在用户的桌面或通知栏上,无需打开应用程序。Widget提供了便捷的方式,让用户可以快速交互,增强了用户...
本资源“android Widget小组件开发源码.zip”包含了一份关于Android Widget开发的源代码示例,这对于想要学习或深入了解如何创建自定义Widget的开发者来说是非常有价值的。 1. **Widget基础概念**: - Android ...
这个压缩包"android Widget小组件开发-IT计算机-毕业设计.zip"显然是一个针对Android Widget开发的学习资源,特别适合计算机科学的学生作为毕业设计项目参考。 Android Widget的开发涉及到以下几个核心知识点: 1....
在Android开发中,UI(用户界面)是与用户交互的核心部分,Widget是构成这一界面的重要元素。本主题“Android_UI_Widget”将深入探讨Android中Widget的相关知识,包括它们的种类、功能、使用方法以及如何进行自定义...