Android 常用的UI組件 2
【繼續昨天沒完成的內容~】
講到 Button,那就講講 Button 派生出來的 ToggleButton (開關按鈕)和 Switch (開關)。他們都提供兩種狀態。
【1】ToggleButton
ToggleButton的XML屬性和方法:
android:checked --> setChecked(boolean) [設置控件是否被選中]
android:textOn [設置控件在選中時顯示的文本]
android:textOff [設置控件在未選中時顯示的文本]
直接上代碼:
XML:
Java:
效果:
點擊後 —>
【2】Switch
Switch的屬性和方法
android:checked --> setChecked(boolean) [開關是否被選中]
android:textOff --> setTextOff(CharSequence) [開關關閉時顯示的文本]
android:textOn --> setTextOn(CharSequence) [開關打開時顯示的文本]
android:track --> setTrackResource(int) [使用自定義Drawable繪製開關按鈕]
android:typeface --> setTrackResource(int) [開關文本的字體風格]
android:textStyle --> setSwitchTypeface(Typeface) [開關的文本風格]
android:switchMinWidth --> setSwitchMinWidth(int) [開關的最小寬度]
android:switchPadding --> setSwitchPadding(int) [開關與標題文本的間距]
android:switchTextAppearance --> setSwitchTextAppearance(Context,int) [開關圖標的文本樣式]
【3】ImageView
ImageView 繼承 View 類,主要功能是顯示圖片。對於任何 Drawable 對象也都可以用 ImageView 來顯示。先來說一下ImageView的常用屬性和方法:
ImageView的常用屬性及方法
android:src --> setImageResource(int) [設置ImageView顯示的Drawable對象的ID]
android:maxHeight --> setMaxHeight(int) [設置最大高度]
android:maxWidth --> setMaxWidth(int) [設置最大寬度]
android:scaleType --> setScaleType(ImageView.ScaleType) [設置圖片縮放以適應ImageView的大小]
android:adjustViewBounds --> setAdjustViewBounds(boolean) [設置ImageView時候調整邊界來保持長寬比]
android:cropToPadding --> setCropToPadding(boolean) [設置最大高度]
這裏用到了 android:scaleType 屬性
【4】AdapterView
AdapterView 是個很重要的組件,其作用是以列表的形式顯示數據。AdapterView的一般是包含多項相同格式資源的列表。
AdapterView 的三個特徵:
AdapterView 繼承le ViewGroup,所以它本質上也是容器。
AdapterView 包括多個列表項,並將多個列表項以合適的形式顯示出來。
AdapterView 顯示的多個列表項由 Adapter 提供,調用 setAdapter(Adapter) 方法便可。
常用的有4種AdapterView的子類:
ListView:簡單的列表
Spinner:下拉列表
Gallery:縮略圖,已經被水平的ScrollView和ViewPicker取代,但也還算常用,是一個可以把子項以中心鎖定,水平滾動的列表
GridView:網格圖,以表格形式顯示資源,可以左右滑動的
(就不一 一詳說了)
列表的適配器類型分爲4種:
ArrayAdapter:處理列表項內容全是文本的情況,只能顯示一行字。
SimpleAdapter:擴充性比較好,不僅可以處理列表項全是文本的情況,當列表項中還有其他控件時,同樣可以處理,每個列表項可以定製更復雜的佈局,組件等
SimpleCursorAdapter:是 SimpleAdapter對數據庫的簡單結合,可以把數據庫的內容以列表的形式展示出來。
自定義 Adapter:繼承 BaseAdapter,根據xml文件中定義的樣式列表項的填充,適用性最強。
配上點擊事件:
單擊列表項事件:爲列表加載 setOnItemClieckListener 監聽,重寫 onItemClick(發生單擊事件的列表對象 ListView,被單擊控件對象 view,在列表中的位置 position,被單擊列表項的行 ID)方法。
長按事件:爲列表加載 setOnItemLongClieckListener 監聽,重寫 onItemLongClick(發生單擊事件的列表對象 ListView,被單擊控件對象 view,在列表中的位置 position,被單擊列表項的行 ID)方法。