Andrtoid控件之ListView開發技巧

在實際項目中,ListView是頻繁用到的控件之一,在開發過程中總結一些有助於開發的知識:

ListItem之間的分隔線

android:divider="#ff0000"  可以是顏色和圖片
android:dividerHeight="1px"  要顯示分隔線,分隔線的高度必須大於0
android:headerDividersEnabled="true"  headview下是否加分隔線
android:footerDividersEnabled="true"  footview是否加分隔線

ListView的滾動塊
滾動塊實際上是所可以用於所有view,有些屬性是通用的,有些實行是listView特有的。

 android:scrollbars="vertical" 顯示垂直、水平滾動塊
 android:verticalScrollbarPosition="left"
 //垂直的scrollBar是顯示在左邊或者右邊
android:scrollbarStyle="insideOverlay" 
inside表示顯示在padding區域的內側,outside表示顯示在padding區域的外側。Inset表示將自動增加padding以顯示ScrollBar(這意味着內容區域將縮小),Overlay表示不會增加padding以顯示ScrollBar,而是浮動在內容上面(可能會遮住內容)
  scrollBar的淡出效果
  android:fadeScrollbars //scrollbar不滾動隱藏  
  android:scrollbarDefaultDelayBeforeFade
  android:scrollbarFadeDuration//淡出的時間
  ScrollBar由兩部分組成,一個是Track(滑道),一個是Thumb(滑塊),其定製的屬性爲:
    android:scrollbarThumbHorizontal="@drawable/ic_launcher" 
    android:scrollbarThumbVertical="@drawable/ic_launcher"
    android:scrollbarTrackHorizontal="@drawable/ic_launcher"
    android:scrollbarTrackVertical="@drawable/ic_launcher"
    android:scrollbarSize="0dp"
  快速滾動條
    android:fastScrollEnabled="true"

頭尾滑動效果

滑過Listview頂部和底部的畫面效果
android:overScrollHeader="@drawable/ic_launcher"
android:overScrollFooter="@drawable/ic_launcher"
android:overScrollMode="never"  ifContentScrolls、always

顯示的位置

android:stackFromBottom="true"  我們看到的視圖將是Listview最底部的數據

選中效果

android:drawSelectorOnTop="true"  選中的效果是顯示在上面還是下面,上面會覆蓋文字

選擇模式

android:choiceMode="singleChoice" 有四個值,聯想出來後很好理解

繪圖的質量

android:drawingCacheQuality
設置繪圖時半透明質量。有以下值可設置:auto(默認,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的內存)/low(低質量,使用較低的顏色深度,但是用更少的內存)。

ListView事件響應情況

android:duplicateParentState
如果設置此屬性,將直接從父容器中獲取繪圖狀態(光標,按下等)。 見下面代碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下LinearLayoutButton有被點擊的效果,但是不執行點擊事件

android:longClickable
設置是否響應長按事件.

邊框漸變

android:fadingEdge
設置拉滾動條時 ,邊框漸變的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的效果圖
android:fadingEdgeLength
設置 邊框漸變的長度。

佈局調整

android:fitsSystemWindows
設置佈局調整時是否考慮系統窗口(如狀態欄)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章