Android開發(fā)中一些被冷落但卻很有用的類和方法

本文摘自同行說用戶“學(xué)文”分享的文章敛熬,原文鏈接:http://luckyandyzhang.github.io硬猫,如涉及版權(quán)問題請(qǐng)及時(shí)聯(lián)系小編冰抢!

MediaMetadataRetriever

顧名思義算凿,就是用來獲取媒體文件一些相關(guān)信息的類念恍。包括一首歌的標(biāo)題,作者趣避,專輯封面和名稱庞呕,時(shí)長,比特率等等程帕。如果是視頻的話住练,可以獲取視頻的長寬,預(yù)覽圖愁拭。

http://developer.android.com/intl/zh-cn/reference/android/media/MediaMetadataRetriever.html


TouchDelegate

用于更改View的觸摸區(qū)域讲逛。場景:比如在RecyclerView的ItemView里包含了CheckBox組件, 然后想實(shí)現(xiàn)點(diǎn)擊ItemView的時(shí)候,也可以觸發(fā)CheckBox岭埠,就可以使用此類盏混。

http://developer.android.com/intl/zh-cn/training/gestures/viewgroup.html#delegate


ArgbEvaluator

用于計(jì)算不同顏色值之間的插值,配合ValueAnimator.ofObject或者ViewPager.PageTransformer使用惜论,可以實(shí)現(xiàn)不同顏色之間的平滑過渡许赃。

http://developer.android.com/intl/zh-cn/reference/android/animation/ArgbEvaluator.html


Palette

用于提取一張圖片的顏色。

http://developer.android.com/intl/zh-cn/reference/android/support/v7/graphics/Palette.html


ViewDragHelper

做過自定義ViewGroup的童鞋都應(yīng)該知道這個(gè)東西吧馆类,用來處理觸摸事件的神器混聊,媽媽再也不用擔(dān)心我自定義控件了。

http://developer.android.com/intl/zh-cn/reference/android/support/v4/widget/ViewDragHelper.html

http://www.cnblogs.com/lqstayreal/p/4500219.html


PageTransformer

用于定義ViewPager頁面切換時(shí)的動(dòng)畫效果(淡入淡出乾巧,放大縮小神馬的…)官方有例子句喜,直接看吧僵闯。

http://developer.android.com/intl/zh-cn/training/animation/screen-slide.html


ViewFlipper

可以實(shí)現(xiàn)簡單輪播效果的一個(gè)組件。

http://developer.android.com/intl/zh-cn/reference/android/widget/ViewFlipper.html


LocalBroadcastManager

用于在APP內(nèi)部使用的藤滥,效率和安全性更好的廣播工具類鳖粟。

http://developer.android.com/intl/zh-cn/reference/android/support/v4/content/LocalBroadcastManager.html


Messenger

進(jìn)程間通信的一個(gè)工具類。內(nèi)部也是由AIDL實(shí)現(xiàn)的拙绊,但是用起來超級(jí)方便向图。

http://developer.android.com/intl/zh-cn/reference/android/os/Messenger.html

http://blog.csdn.net/lmj623565791/article/details/47017485


Formatter.formatFileSize

根據(jù)文件大小自動(dòng)轉(zhuǎn)為以KB, MB, GB為單位的工具類。想想以前都是自己計(jì)算的…

http://developer.android.com/intl/zh-cn/reference/android/text/format/Formatter.html


Activity.recreate

重新創(chuàng)建Activity标沪。有什么用呢榄攀?可以在程序更換主題后,立馬刷新當(dāng)前Activity金句,而不會(huì)有明顯的重啟Activity的動(dòng)畫檩赢。

http://developer.android.com/intl/zh-cn/reference/android/app/Activity.html#recreate%28%29


View.getContext

顧名思義,就不用解釋了吧…以前在寫RecyclerView的Adapter的時(shí)候违寞,為了使用LayoutInflater贞瞒,經(jīng)常傻乎乎地在構(gòu)造函數(shù)中傳入一個(gè)外部的context….是不是只有我不知道而已(笑cry臉)

http://developer.android.com/intl/zh-cn/reference/android/view/View.html#getContext()


View.post

方便在非UI線程對(duì)界面進(jìn)行修改,與Handler的作用類似趁曼。并且由于post的Runnable會(huì)保證在該View繪制完成的前提下才調(diào)用军浆,所以一般也可以用于獲取View的寬高。

http://developer.android.com/intl/zh-cn/reference/android/view/View.html#post(java.lang.Runnable)


Activity.runOnUiThread

與View.post類似挡闰,方便在非UI線程中對(duì)界面進(jìn)行修改乒融。

http://developer.android.com/intl/zh-cn/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable)


Fragment.setUserVisibleHint

Fragment可以重寫此方法,然后根據(jù)參數(shù)的布爾值(true的話表示當(dāng)前Fragment對(duì)用戶可見)摄悯,來執(zhí)行一些邏輯赞季。

http://developer.android.com/intl/zh-cn/reference/android/support/v4/app/Fragment.html#setUserVisibleHint(boolean)


android:animateLayoutChanges

這是一個(gè)非常酷炫的屬性奢驯。在父布局加上android:animateLayoutChanges="true"后申钩,如果觸發(fā)了layout方法(比如它的子View設(shè)置為GONE),系統(tǒng)就會(huì)自動(dòng)幫你加上布局改變時(shí)的動(dòng)畫特效_冻鳌典蜕!

http://developer.android.com/intl/zh-cn/training/animation/layout.html


android:clipToPadding

設(shè)置父view是否允許其子view在它的padding(這里指的是父View的padding)中繪制。是不是有點(diǎn)繞罗洗?舉個(gè)實(shí)際場景吧:假如有個(gè)ListView,我們想要在初始位置時(shí)钢猛,第一項(xiàng)Item離頂部有10dp的距離伙菜,就可以在ListView的布局中加入android:clipToPadding="false"android:paddingTop="10dp"即可。是不是很方便呢命迈?

http://developer.android.com/intl/zh-cn/reference/android/view/ViewGroup.html#attr_android:clipToPadding


團(tuán)隊(duì)開發(fā)了一款工程師贩绕、產(chǎn)品經(jīng)理必備神器【同行說】APP火的,找大牛、看最新最熱干貨淑倾,勾搭妹紙馏鹤,快來同行說吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末娇哆,一起剝皮案震驚了整個(gè)濱河市湃累,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碍讨,老刑警劉巖治力,帶你破解...
    沈念sama閱讀 212,185評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異勃黍,居然都是意外死亡宵统,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門覆获,熙熙樓的掌柜王于貴愁眉苦臉地迎上來马澈,“玉大人,你說我怎么就攤上這事弄息〖” “怎么了?”我有些...
    開封第一講書人閱讀 157,684評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵疑枯,是天一觀的道長辩块。 經(jīng)常有香客問我,道長荆永,這世上最難降的妖魔是什么废亭? 我笑而不...
    開封第一講書人閱讀 56,564評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮具钥,結(jié)果婚禮上豆村,老公的妹妹穿的比我還像新娘。我一直安慰自己骂删,他們只是感情好掌动,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,681評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宁玫,像睡著了一般粗恢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欧瘪,一...
    開封第一講書人閱讀 49,874評(píng)論 1 290
  • 那天眷射,我揣著相機(jī)與錄音,去河邊找鬼。 笑死妖碉,一個(gè)胖子當(dāng)著我的面吹牛涌庭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播欧宜,決...
    沈念sama閱讀 39,025評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坐榆,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了冗茸?” 一聲冷哼從身側(cè)響起席镀,我...
    開封第一講書人閱讀 37,761評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚀狰,沒想到半個(gè)月后愉昆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,217評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡麻蹋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,545評(píng)論 2 327
  • 正文 我和宋清朗相戀三年跛溉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扮授。...
    茶點(diǎn)故事閱讀 38,694評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芳室,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刹勃,到底是詐尸還是另有隱情堪侯,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評(píng)論 4 332
  • 正文 年R本政府宣布荔仁,位于F島的核電站伍宦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏乏梁。R本人自食惡果不足惜次洼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,988評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遇骑。 院中可真熱鬧卖毁,春花似錦、人聲如沸落萎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽练链。三九已至翔脱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兑宇,已是汗流浹背碍侦。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評(píng)論 1 266
  • 我被黑心中介騙來泰國打工粱坤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隶糕,地道東北人瓷产。 一個(gè)月前我還...
    沈念sama閱讀 46,427評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像枚驻,于是被迫代替她去往敵國和親濒旦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,580評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容