一、common layout和adapter介紹
relativelayout (相對布局)
linearlayout (線性布局)
gridlayout (網格布局)
framelayout (幀布局,一層一層的布局)
每種layout有不同的使用場景和功能,其中相對布局和線性布局最為常用。
二、common layout優化
優化目的: 提高執行效率,提高開發效率,減少**量,提高可維護性
優化方式:
優化繼承體系
層越少越好,物件越少越好
優化物件個數
(merge)
優化載入時機
(viewstub)
優化布局重用
(include)
三、common layout擴充套件
3.1 scrollview
垂直滾動
3.2 horizontalscrollview
水平滾動
無論使用哪種布局,在內部都需要巢狀乙個linearlayout物件。
textswitcher(文字切換器)
setfactory()
settext()
imagerswitcher(切換器)
其實是乙個framelayout,設定了只顯示當前的view,其他的view都隱藏了
setfactory()
setimageresource()
具體實現步驟:
a. 構建或者獲得imageswitch物件
b. 設定view工廠(setfactory)
c. 設定動畫animation
d. 顯示(setimageresource(),setimageuri())
......其他的一些switcher,需要自學
擴充套件的方式:
一般新增乙個類繼承原有類,並在此基礎上新增方法或重寫方法。
來實現新的業務需求。
四、 adapter layout
4.1 adapter layout是什麼?
它是viewgroup、view、adapterview
一些layout物件在顯示資料時,需要借助adapter載入資料,並將資料構建成相應的item,
然後交給adapter layout顯示。
4.2 adapter layout的應用場合
adapter layout的應用場景應該有具體的adapter layout決定,常用的adapter layout物件有:
listview (以列表形式顯示資料)
gridview (以網格形式顯示資料)
spinner (以下拉列表顯示資料)
viewpager (以分頁形式顯示資料)
.....
4.3 adapter layout的構成及原理分析
1) adapter layout物件(負責顯示)
2) adapter 物件(構建item)
a) context物件(資源訪問物件)
b) view物件(呈現item資料)
c) data物件(代表資料)
adapter layout中要顯示的item物件,都需要借助adapter物件構建。
Android效能優化 Layout的優化
android開發一般使用xml檔案進行布局,在activity的oncreate方法中呼叫setcontentview layoutid 實現頁面的繪製,如果layout檔案布置不合理就會可能造成載入緩慢和過度繪製。載入緩慢是因為布局巢狀太多,層級太深,導致xml檔案解析速度過慢。如果容器選用不當...
Android幾種layout 布局 的區別
1.framelayout children按照從左上開始的順序排列,主要用於tabed view或者切換功能 最簡單的布局模型,在這種布局下每個新增的子控制項都被放在布局的左上角,並覆蓋在前一子控制項的上層。2.線性布局 linearlayout children排列成一行多列或者一列多行的形式,...
android 中layout 的大小縮放
1.首相要建立乙個activity 如下 package com.wljie.layout.z import android.graphics.drawable.drawable import android.os.bundle import android.view.layoutinflater ...