什么是RemoteViews
RemoteViews 顧名思義遠(yuǎn)程View澜共,作用就是在其他進(jìn)程中顯示并更新頁面。
RemoteViews 的應(yīng)用
1.通知欄 Notification
2.桌面小部件 AppWidgetProvider 咳胃,本質(zhì)上是一個(gè)BroadcastReceiver
3.有兩個(gè)應(yīng)用在一個(gè)應(yīng)用中要更新另一個(gè)View的頁面展懈。
PendingIntent
表示一個(gè)在待定時(shí)刻發(fā)生Intent存崖,它和Intent的區(qū)別就是,PendingIntent是將來的某個(gè)不確定時(shí)刻發(fā)生冗栗,而Intent是立刻發(fā)生。典型的運(yùn)用場景就是給RemoteViews添加點(diǎn)擊事件钠至。
支持三種待定的Intent
1.啟動(dòng)Activity
2.啟動(dòng)Service
3.發(fā)送廣播
Drawable有很多種類棉钧,他們都表示的一種圖像的概念宪卿。
Drawable分類
BitmapDrawable
對(duì)應(yīng)<bitmap>標(biāo)簽万栅,表示一張圖片,可以同個(gè)xml直接引用圖片即可休溶。
ShapeDrawable
通過<shape>標(biāo)簽邮偎,可以自己繪制矩形禾进、橢圓廉涕、圓、圓環(huán)狐蜕、等层释,還可以設(shè)置填充的顏色贡羔,已經(jīng)描邊乖寒,以及漸變顏色等等。
StatListDrawable
對(duì)應(yīng)<selector>標(biāo)簽磅轻,主要用于button,checkbox等控件的觸摸反饋聋溜,以及選中狀態(tài)等等勤婚。
LevelListDrawable
對(duì)應(yīng)<level-list>標(biāo)簽馒胆,表示一個(gè)Drawable的集合凝果,集合中的Drawable都有一個(gè)等級(jí)的概念器净,根據(jù)不同的level可以切換到對(duì)應(yīng)的level
TransitionDrawable
對(duì)應(yīng)<transition>標(biāo)簽山害,用于實(shí)現(xiàn)兩個(gè)Drawable見得淡入淡出效果
InsetDrawable
對(duì)應(yīng)<inset>標(biāo)簽浪慌,可以將其他drawable嵌套到自己當(dāng)中权纤,而且在四周也可以流出間距汹想。
ScaleDrawable
對(duì)應(yīng)<scale>標(biāo)簽古掏,根據(jù)自己的等級(jí),將指定的drawable縮放的一定的比例。
ClipDrawable
對(duì)應(yīng)<clip>標(biāo)簽豪诲,根據(jù)自己的等級(jí)屎篱,來裁剪另一個(gè)Drawable交播。
自定義Drawable
繼承Drawable重寫draw方法來自定義Drawable,自定義Drawable有一個(gè)局限性缺厉,在xml中無法使用提针。用處不是很廣泛辐脖。