Android Widget搭建过程是本文要介绍的内容,文中通过代码来实现Android Widget搭建,具体内容的实现来看本文详解。天翼空间

Android平台下Widget的搭建过程为:手机游戏开发51cto.com

1、在res/layout下创建Widget的布局文件:digitalclock.xml

代码

        
  1. xmlversion="1.0"encoding="UTF-8"?>
  2. <TextView
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="wrap_content"
  5. android:layout_height="wrap_content"
  6. android:id="@+id/time"
  7. android:textSize="45px"
  8. android:scrollX="30px"
  9. android:scrollY="30px"
  10. android:textStyle="bold"
  11. android:textColor="#ff000000"
  12. android:background="@drawable/bg"
  13. />

2、在res/xml下创建Widget的描述文件:est_appwidget.xml

代码

        
  1. xmlversion="1.0"encoding="UTF-8"?>
  2. <appwidget-providerxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:minWidth="186dip"
  4. android:minHeight="212dip"
  5. android:updatePeriodMillis="1000"
  6. android:initialLayout="@layout/digitalclock"/>

3、从AppWidgetProvider继承一个类(ESTTime),重写其虚方法

代码

        
  1. packagecom.android.test.esttime;
  2. importandroid.app.Service;
  3. importandroid.appwidget.AppWidgetManager;
  4. importandroid.appwidget.AppWidgetProvider;
  5. importandroid.content.ComponentName;
  6. importandroid.content.Context;
  7. importandroid.content.Intent;
  8. importandroid.os.IBinder;
  9. importandroid.text.format.Time;
  10. importandroid.widget.RemoteViews;
  11. publicclassESTTimeextendsAppWidgetProvider{
  12. /**Calledwhentheactivityisfirstcreated.*/
  13. @Override
  14. publicvoidonUpdate(Contextcontext,
  15. AppWidgetManagerappWidgetManager,int[]appWidgetIds)
  16. {
  17. context.startService(newIntent(context,UpdateService.class));
  18. }
  19. //Service类
  20. publicstaticclassUpdateServiceextendsService{
  21. @Override
  22. publicvoidonStart(Intentintent,intstartId){
  23. TimeestTime=newTime("EST");
  24. estTime.setToNow();
  25. RemoteViewsupdateViews=
  26. newRemoteViews(getPackageName(),
  27. R.layout.digitalclock);
  28. updateViews.setTextViewText(R.id.time,estTime.format("%H:%M"));
  29. ComponentNamethisWidget=newComponentName(this,ESTTime.class);
  30. AppWidgetManagermanager=AppWidgetManager.getInstance(this);
  31. manager.updateAppWidget(thisWidget,updateViews);
  32. }
  33. @Override
  34. publicIBinderonBind(Intentintent){
  35. //TODOAuto-generatedmethodstub
  36. returnnull;
  37. }
  38. }
  39. }

4、在AndroidManifest.xml中注册本Widget

代码

        
  1. xmlversion="1.0"encoding="utf-8"?>
  2. <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.android.test.esttime"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
  7. <receiverandroid:name=".ESTTime"
  8. android:label="@string/app_name">
  9. <intent-filter>
  10. <actionandroid:name="android.appwidget.action.APPWIDGET_UPDATE"/>
  11. intent-filter>
  12. <meta-dataandroid:name="android.appwidget.provider"
  13. android:resource="@xml/est_appwidget"/>
  14. receiver>
  15. <serviceandroid:name=".ESTTime$UpdateService"/>
  16. application>
  17. <uses-sdkandroid:minSdkVersion="3"/>
  18. manifest>

最后,编译运行。这样在Home上长按弹出的Widget列表中就有新创建的Weiget了 。

小结:Android Widget搭建过程的内容介绍完了,希望通过Android Widget搭建内容的学习能对你有所帮助!

更多相关文章

  1. ubuntu12.04(64bit)编译android-3.4内核代码
  2. Android平台下简单Widget的搭建过程
  3. stagefright 架构分析(六) 创建一个 Soft Decoder
  4. Android(安卓)studio(Windows)快捷键
  5. qiniuLive 连麦流程介绍
  6. Android(安卓)Timer的自动功能
  7. IOS开发学习笔记(二)
  8. Android入门:用HttpClient模拟HTTP的GET和POST请求
  9. XDebuggable&mprop代码分析

随机推荐

  1. 写在2012里的2011总结
  2. 简单的程序发布流程
  3. 从零开始的linux 第十三章
  4. Linux FFmpeg 编译so动态库
  5. 如何使用virtualenv安装wxPython
  6. Bash命令在启动时没有找到rvm, Mint
  7. Linux设备驱动剖析之Input(三)
  8. Linux和Windows下查看、设置环境变量的比
  9. 这个冬天,他们实现了梦想中的华丽转身…
  10. 在Linux中的脚本中安装应用程序