本文是Android貼士集合的第四部分。
Activity.isChangingConfigurations()——如果在Activity中configuration會經常改變的話,使用這個方法就可以不用手動做儲存狀態的工作了。
SearchRecentSuggestionsProvider——可以建立最近提示效果的provider,是一個簡單快速的方法。
ViewTreeObserver——這是一個很棒的工具。可以進入到VIew裡面,並監控View結構的各種狀態,通常我都用來做View的測量操作(自定義檢視中經常用到)。
org.gradle.daemon=true——這句話可以幫助減少Gradle構建的時間,僅在命令列編譯的時候用到,因為Android Studio已經這樣使用了。
DatabaseUtils——一個包含各種資料庫操作的使用工具。
android:weightSum (LinearLayout)——如果想使用layout weights,但是卻不想填充整個LinearLayout的話,就可以用weightSum來定義總的weight大小。
android:duplicateParentState (View)——此方法可以使得子View可以複製父View的狀態。比如如果一個ViewGroup是可點選的,那麼可以用這個方法在它被點選的時候讓它的子View都改變狀態。
android:clipChildren (ViewGroup)——如果此屬性設定為不可用,那麼ViewGroup的子View在繪製的時候會超出它的範圍,在做動畫的時候需要用到。
android:fillViewport (ScrollView)——在這片文章中有詳細介紹文章連結,可以解決在ScrollView中當內容不足的時候填不滿螢幕的問題。
android:tileMode (BitmapDrawable)——可以指定圖片使用重複填充的模式。
android:enterFadeDuration/android:exitFadeDuration (Drawables)——此屬性在Drawable具有多種狀態的時候,可以定義它展示前的淡入淡出效果。
android:scaleType (ImageView)——定義在ImageView中怎麼縮放/剪裁圖片,一般用的比較多的是“centerCrop”和“centerInside”。
<merge>——此標籤可以在另一個佈局檔案中包含別的佈局檔案,而不用再新建一個ViewGroup,對於自定義ViewGroup的時候也需要用到;可以通過載入一個帶有標籤的佈局檔案來自動定義它的子部件。
AtomicFile——通過使用備份檔案進行檔案的原子化操作。這個知識點之前我也寫過,不過最好還是有出一個官方的版本比較好。