Android小技巧(4)
前言
本文是一篇譯文,這篇是這個系列的第四篇。講述的是Android開發中遇到的一些好用的小技巧,或者一些實用的API,很多人都知道,但也有人不知道,記錄下來,如果能幫助到大家,也是極好的。由于不是嚴格的博文,所以翻譯也不那么嚴格,有些工具和類我也會經常用,所以我會根據自己的想法去寫。有些地方坐在并沒有將這個工具的作用講出來,我會補充上去。
正文
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——通過使用備份文件進行文件的原子化操作。這個知識點之前我也寫過,不過最好還是有出一個官方的版本比較好。