Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> [Android 性能優化系列]布局篇之通過(include)復用布局

[Android 性能優化系列]布局篇之通過(include)復用布局

編輯:關於Android編程

 

在接下來的一段時間裡,我會每天翻譯一部分關於性能提升的Android官方文檔給大家

性能優化布局篇:

[Android 性能優化系列]布局篇之減少你的界面層級

題外話:

很多時候,我們都會用到類似的布局,既然如此,我們不妨將相同布局整體抽出來,單獨作為一個布局文件使用,這樣我們就避免了在多個文件中反復書寫同樣地代碼,並且當我們需要修改的時候,也只需要修改一個地方就好了。


 

下面是本次的正文:

################


雖然安卓為我們提供了一系列的控件來方便我們進行交互,你或許還是需要重復使用到一些特定布局的大型組件。為了更有效的復用布局,你應該使用來讓一個布局出現在另一個布局中,而不是在每一個布局文件中都重寫他。

在這種情況下,復用布局是格外有用的,他允許你創建一個復雜的可重用布局。比如說,一個 yes/no 按鈕,一個擁有文字的自定義進度條。這也意味著,你應用中的一些元素是通用的。所以你可以單獨為他們創建一個自定義 View,這樣一來你可以更方便的重用布局

 

建立一個可重用的布局

如果你已經知道哪些布局你希望能夠反復使用,那麼單獨為他們創建一個新的布局文件吧。比如說,這裡有一個來自 G-Kenya 代碼實驗室的布局,它定義了一個標題欄,而這個標題欄會被每一個 activity 所引用

 

<framelayout android:background="@color/titlebar_bg" android:layout_height="wrap_content" android:layout_width="”match_parent”" xmlns:android="http://schemas.android.com/apk/res/android">

    
</framelayout>

這個 View 應該同你希望他在每個 Activity 中的顯示效果一致。

 

 

使用標簽

當你希望添加一個可重用的組件到另一個布局中時,你可以使用標簽。比如說,這裡有一段來自 G-Kenya 代碼實驗室的代碼,他想要包含了上面提到的標題欄

這裡是他的布局文件

 



    

    

    ...


同樣的,你可以在標簽內重寫布局文件的參數,比如說類似於 android:layout_*的屬性,來定義包含的布局的屬性,例如

 

 


不管如何,如果你希望使用標簽重寫布局屬性,你必須要重寫 layout_height 和 layout_width 來讓其他屬性生效

 

 

使用標簽

標簽在能夠有效的幫助我們降低你的布局層級。比如說,你的布局是一個垂直的線性布局,並且你希望復用的布局也是一個類似的垂直的線性布局。那麼,使用另外一個線性布局作為重用布局的根元素會導致一個垂直的線性布局中包含另一個垂直的線性布局。這種嵌套的線性布局沒有任何意義,並且會降低你的 ui 性能

為了避免上面的情況發生,你可以在你重用的布局中使用標簽作為根元素,例如下面這樣

 

這樣一來,當你使用標簽進行復用的時候,系統會忽略掉標簽,然後就將兩個 Button 按鈕放到的位置裡去

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved