appWidget虽然只支持有限的几种布局和widget控件,但是利用ImageView可以把AppWidegt做的像View一样画任何东西在上面。
public class Bugs extends AppWidgetProvider{
private static int x=0;
private static int y=0;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
Log.i("Bugs"," time");
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
Time t=new Time();
t.setToNow();
String time="Hour"+t.hour+"Minite:"+t.minute+"Second:"+t.second;
views.setTextViewText(R.id.bug, time);
views.setImageViewBitmap(R.id.bugs, makeDst());
for(int i=0;i<appWidgetIds.length;i++){
appWidgetManager.updateAppWidget(appWidgetIds[i], views);
}
}
//构造一个可变的图片,不断地改变坐标
/*
* 这个函数本身就是在一个线程里面,你可以像一般的做线程一样做!!
*/
static Bitmap makeDst() {
++x;
++y;
if(x>40){
x=0;
y=0;
}
Bitmap bm = Bitmap.createBitmap(240, 60, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bm);
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setColor(Color.BLUE);
//c.drawText(s,50,200,p);
c.drawRect(new Rect(x,y,40,40), p);
return bm;
}
}
使用makeDst()函数,自己画一张Bitmap作为xml布局文件中的ImageViewd 的src就可以了
在makeDst里面可以像onDraw()函数一样的绘图
同时可以利用appWidegt的更新来做线程用。
分享到:
相关推荐
本文将深入探讨如何在AppWidget中自定义Action广播,以便更好地控制和扩展小部件的行为。 首先,让我们了解什么是BroadcastReceiver。在Android系统中,BroadcastReceiver是一种组件,它监听系统或应用发出的广播...
当然,AppWidget的功能远不止于此,你可以实现更复杂的功能,如自定义小部件服务(AppWidgetService)、接收数据更新(通过BroadcastReceiver或ContentProvider)等。继续深入学习,你就能构建出更加丰富的桌面组件...
在Android系统中,AppWidget是桌面小部件的实现,它允许开发者将应用程序的功能和信息集成到用户的主屏幕上,用户无需打开应用即可与之交互。这个压缩包“Android -- AppWidget源码.zip”很可能是包含了Android App...
在Android开发中,AppWidget是桌面小插件,它并不像普通的应用程序那样通过用户点击图标启动,而是直接在主屏幕上显示并可以实时更新内容。用户可以自定义小部件的大小和样式,并且可以通过小部件与应用程序进行简单...
在本案例中,我们探讨的是如何在AppWidget中使用ListView,这是一个增强用户交互的方式,使小部件能显示多行数据。我们将深入源码,了解其工作原理。 首先,我们需要明白`ListView`在Android中的作用。ListView是一...
避免在AppWidget中执行耗时操作,如网络请求或复杂的计算。合理利用AlarmManager进行定时更新,同时注意不要过度更新以避免不必要的CPU和电池消耗。 #### 4.2 用户体验 提供直观且响应迅速的界面对于提升用户体验至...
Android AppWidget是Android系统提供的一种轻量级组件,允许开发者在用户的主屏幕上创建小型应用程序,通常称为小部件或快捷方式。这些小部件不需要用户启动应用,就能直接在主屏幕上显示和交互,为用户提供便捷的...
在"appwidget"这个压缩包文件中,可能包含了示例代码和资源文件,供开发者学习如何实现上述功能。通过研究这些文件,你可以更好地理解App Widget的工作原理和实现细节,从而在自己的项目中创建出富有特色的桌面小...
3. **配置活动(Configuration Activity)**(可选):当用户添加新的AppWidget时,可以显示一个配置界面让用户自定义设置。 4. **更新服务(Update Service)**(可选):如果AppWidget需要定时更新,可以使用...
在Android系统中,AppWidget是桌面小部件的实现方式,它允许开发者将应用程序的功能和信息直接集成到用户的主屏幕上,用户无需打开应用就能与之交互。AppWidget虽然看似简单,但其实涉及到了许多核心的Android组件和...
- **配置活动**:为用户提供自定义AppWidget的界面,通常是一个设置Activity,用户可以在这里设置小部件的特定属性。 - **保存状态**:使用SharedPreferences或其他持久化存储来保存用户配置的数据,以便在App...
在Android开发中,AppWidget是桌面小部件,它允许用户在主屏幕上与应用程序进行交互,而无需实际打开应用。Service是Android系统中的一个组件,它可以在后台长时间运行,执行一些耗时的操作,如音乐播放、数据同步等...
**Android之AppWidget详解** AppWidget是Android操作系统提供的一种组件,允许开发者在用户主屏幕上创建小型应用程序,这些小部件无需用户直接启动应用就能显示和交互。AppWidget为用户提供了一种快速访问应用功能...
在上面的代码中,我们使用了一个自定义的 Tab 布局文件 `widget_choose_icon_tab_bg.xml`,该文件代码如下: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_...
在Android开发中,AppWidget的使用可以提升用户体验,让用户能快速访问或操作应用的核心功能。本教程将通过一个名为"AppWidgetTest"的小型示例项目,详细介绍如何在Android应用中创建和管理AppWidget。 1. **...
在AppWidget中,PendingIntent常用于设置点击事件,使得用户点击AppWidget时可以启动一个新的Activity或执行其他操作。 6. **Widget配置Activity**: 对于需要用户自定义设置的AppWidget,可以创建一个配置Activity...
【Android小部件AppWidget】是Android操作系统中的一种特殊组件,它允许用户在主屏幕上放置小型的应用程序界面元素,提供快捷的操作或显示实时信息。在Android应用开发中,AppWidget是扩展应用程序功能的一种方式,...
总之,"AppWidget学习demo"是一个很好的起点,可以帮助开发者理解和实践如何在Android平台上创建自定义的桌面Widget,为用户提供便捷的功能。通过深入研究和扩展这个示例,你可以掌握更多的技巧,打造出更加丰富的...
4. **Widget配置Activity(可选)**: 当用户添加AppWidget时,系统可以启动一个配置Activity,让用户自定义AppWidget的一些初始设置。 **二、创建AppWidget步骤** 1. **定义AppWidgetProviderInfo**: 在...