什么是RemoteViews
RemoteViews 顾名思义远程View,作用就是在其他进程中显示并更新页面。
RemoteViews 的应用
1.通知栏 Notification
2.桌面小部件 AppWidgetProvider ,本质上是一个BroadcastReceiver
3.有两个应用在一个应用中要更新另一个View的页面。
PendingIntent
表示一个在待定时刻发生Intent,它和Intent的区别就是,PendingIntent是将来的某个不确定时刻发生,而Intent是立刻发生。典型的运用场景就是给RemoteViews添加点击事件。
支持三种待定的Intent
1.启动Activity
2.启动Service
3.发送广播
Drawable有很多种类,他们都表示的一种图像的概念。
Drawable分类
BitmapDrawable
对应<bitmap>标签,表示一张图片,可以同个xml直接引用图片即可。
ShapeDrawable
通过<shape>标签,可以自己绘制矩形、椭圆、圆、圆环、等,还可以设置填充的颜色,已经描边,以及渐变颜色等等。
StatListDrawable
对应<selector>标签,主要用于button,checkbox等控件的触摸反馈,以及选中状态等等。
LevelListDrawable
对应<level-list>标签,表示一个Drawable的集合,集合中的Drawable都有一个等级的概念,根据不同的level可以切换到对应的level
TransitionDrawable
对应<transition>标签,用于实现两个Drawable见得淡入淡出效果
InsetDrawable
对应<inset>标签,可以将其他drawable嵌套到自己当中,而且在四周也可以流出间距。
ScaleDrawable
对应<scale>标签,根据自己的等级,将指定的drawable缩放的一定的比例。
ClipDrawable
对应<clip>标签,根据自己的等级,来裁剪另一个Drawable。
自定义Drawable
继承Drawable重写draw方法来自定义Drawable,自定义Drawable有一个局限性,在xml中无法使用。用处不是很广泛。