Android編程學習之抽象類別AbsListView用法執行個體分析_Android

來源:互聯網
上載者:User

本文執行個體講述了Android編程學習之抽象類別AbsListView用法。分享給大家供大家參考,具體如下:

一、繼承關係

public abstract class AbsListView extends AdapterView <T extendsAdapter>

java.lang.Object
         android.view.View
               android.view.ViewGroup
                      android.widget.AdapterView<T extends android.widget.Adapter>
                             android.widget.AbsListView

二、AbsListView概述

用於為一系列條目實現一個虛擬列表的的基類,但是這個列表在這裡沒有空間定義。例如,這個類的子類可以將這個虛擬列表的內容顯示為網格、可旋轉的列表或者棧等等。

三、嵌套類

class AbsListView.LayoutParams//AbsListView實現LayoutParams是為了裝載檢視類型而提供空間。interface AbsListView.MutiChoiceModeListener// MutiChoiceModeListener為多選模式監聽器,響應一個CHOICE_MODE_MULTIPLE_MODAL(自API Level 11).interface AbaListView.OnScrollListener// 提供了一個回呼函數,當視圖被滾動時觸發。interface AbsListView.RecyclerListener// 用來接收View被放置在待回收堆區時發送的訊息的監聽器。

四、XML屬性

1.AbsListView的XML屬性

android:cacheColorHint// 表明這個列表的背景始終以單一、固定的顏色繪製,可以最佳化繪製過程。 android:choiceMode//為視圖指定選擇的行為。可選的類型有:none、singleChoice、multipleChoice、multipleChoiceModal。 android:drawSelectorOnTop// 若設為true,選取器將繪製在選中條目的上層。預設為false。 android:faseScrollEnabled// 設定是否允許使用快速滾動滑塊。 android:listSelector// 設定選中項顯示的可繪製對象,可以是圖片或者顏色屬性。 android:scrollingCache// 設定在滾動時是否使用繪製緩衝。若設為true,則將使滾動表現更快速,但會佔用更記憶體。預設為true。 android:smoothScrollbar// 為真時,列表會使用更精確的基於條目在螢幕上的可見像素高度的計算方法。預設該屬性為真,如果你的適配器需要繪製可變高的條目,他應該設為假。當該屬性為真時,你在適配器在顯示變高條目時,捲軸的把手會在滾動的過程中改變大小。當設為假時,列表只使用適配器中的條目數和螢幕上的可見條目來決定捲軸的屬性。 android:stackFromBottom// 設定GridView和ListView是否將內容從底部開始顯示。 android:textFilterEnabled// 當設為真時,列表會將結果過濾為使用者類型。前提是這個列表的Adapter必須支援Filterable介面。 android:transcriptMode//設定列表的transcriptMode.有如下選項可選: //(1)disabled     禁用TranscriptMode,也是預設值; //(2)normal       當新條目添加進列表中並且已經準備好顯示的時候,列表會自動滑動到底部以顯示最新條目; //(3)alwaysScroll  列表會自動滑動到底部,無論新條目是否已經準備好顯示. 

2.繼承自ViewGroup的XML屬性

android:addStatesFromChildren// 設定這個ViewGroup的drawable狀態是否包括子View的狀態。若設為true,當子View如EditText或Button獲得焦點時,整個ViewGroup也會獲得焦點。android:alwaysDrawnWithCache// 設定ViewGroup在繪製子View時是否一直使用繪圖緩衝。預設為true。android:animationCache// 設定布局在繪製動畫效果時是否為其子View建立繪圖緩衝。若設為true,將會消耗更多的記憶體,要求期間更久的初始化過程,但表現更好。預設為true。android:clipChildren// 設定子View是否受限於在自己的邊界內繪製。若設為false,當子View所佔用的空間大於邊界時可以繪製在邊界外。預設為true。android:clipToPadding//定義布局間是否有間距。預設為true。android:descendantFocusability// 定義當尋找一個焦點View的時候,ViewGroup與其子View之間的關係。可選項為://(1)beforeDescendants    ViewGroup會比其子View更先獲得焦點;//(2)afterDescendants    只有當無子View想要擷取焦點時,ViewGroup才會擷取焦點;//(3)blockDescendants     ViewGroup會阻止子View擷取焦點 android:layoutAnimation//定義當ViewGroup第一次展開時的動畫效果,也可人為地在第一次展開後調用。android:persistentDrawingCache// 定義繪圖緩衝的持久性。有如下可選項://(1)none          當使用過後不保留繪圖緩衝//(2)animation  在layout animation之後保留繪圖緩衝//(3)scrolling  在Scroll操作後保留繪圖緩衝//(4)all   always保留繪圖緩衝

希望本文所述對大家Android程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.