前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >笔记——RemoteViews远程View(十四)

笔记——RemoteViews远程View(十四)

作者头像
木溪bo
发布2018-12-27 10:11:15
1.2K0
发布2018-12-27 10:11:15
举报

1、定义:Remoteviews是一种远程View,和远程Service类似,Remoteviews表示的是一个View结构,它可以在其他进程中显示,Remoteviews提供了一组基础的操作用于跨进程更新它的界面。RemoteViews不是当前进程的View,是属于SystemServer进程。

特性: RemoteViews只是一个实现了Parcelable和Filter接口的类,而并非继承自View。 RemoteViews用来描述可运行在其他进程中的视图结构,但RemoteViews本身不是视图,只是一个描述类。 RemoteViews描述的远程视图需要通过layout资源文件定义。 RemoteViews类提供了一系列修改远程视图的方法。

应用:一般用于顶部通知栏和桌面小部件的开发。 1.通知栏主要是通过NotificationManager的notify方法来实现的,它除了默认效果外,还可以另外定义布局。 2.桌面小部件则是通过AppWidgetProvider来实现的,AppWidgetProvider本质上是一个广播。 3.通知栏和桌面小部件的开发过程中都会用到RemoteViews,它们在更新界面时无法像在Activity里面那样去直接更新View,这是因为二者的界面都运行在其他进程中,确切来说是系统的SystemServer进程。为了跨进程更新界面,RemoteViews提供了一系列set方法去实现基础操作(如设置内容text,背景图片,点击事件等),并且这些方法只是View全部方法的子集。 4.并非所有View都可以作为远程视图,只有声明了RemoteView注解(@RemoteView)的View才可以。例如系统提供的控件中EditText就不可以。

RemoteViews所支持的View类型如下,且它们的子类也是不支持的:详情请点击

LinearLayout、RelativeLayout、FrameLayout、GridLayout、AbsoluteLayout(已弃用) TextView、Button、ImageView、ImageButton、Chronometer、ProgressBar、ListView、GridView、StackView、ViewFlipper、AdapterViewFlipper、ViewStub、AnalogClock(已弃用)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档