本節書摘來自異步社群《android 平闆電腦開發實戰詳解和典型案例》一書中的第2章,第2.2節開關視窗—— switch,作者 吳亞峰 , 杜化美 , 索依娜,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
2.2 開關視窗—— switch
android 平闆電腦開發實戰詳解和典型案例
android下有多種具有兩種狀态(選中狀态和未選中狀态)的按鈕,當按下按鈕後狀态自動改 變。本節将介紹android 3.0新增控件開關視窗switch,主要内容包括其基本知識以及一個簡單的 案例。
2.2.1 開關視窗基本知識
開關視窗switch是一個隻有兩種選項的開關控件,可以在兩種狀态(打開狀态或關閉狀态)之間切換。其切換方式可以是經典的輕按開關控件,也可以是來回拖動“拇指”所選中的選項。開關視窗switch繼承自抽象類compoundbutton,其繼承樹如圖2-5所示。
對于switch中的一些方法,由于篇幅所限,筆者将不再一一贅述,請讀者自行查閱相關的api。
2.2.2 開關視窗使用案例
通過前面的介紹,讀者對開關視窗switch已經有了一個基本的了解,下面将通過一個簡單的案例sample2_2使讀者進一步掌握開關視窗switch的使用。在正式介紹此案例的開發步驟之前,首先請讀者了解一下運作效果,如圖2-6、圖2-7和圖2-8所示。
圖2-6為運作該項目後的效果圖,圖2-7所示為當單擊開燈後的效果圖,圖2-8顯示的是開燈向關燈方向滑動的效果圖。
了解了案例的運作效果之後,下面開始介紹案例的開發,具體步驟如下。
(1)首先需要編寫的是界面布局檔案main.xml,其代碼如下。
該主界面的布局比較簡單,在一個充滿整個螢幕豎直排列的linearlayout控件上方放置了一個寬、高由自身決定的switch,下方放置一個寬、高由自身決定的imageview。
(2)完成了布局檔案main.xml的開發後,下面将要開發的是主activity對應的類 switchactiv ity.
java,其代碼如下。
第10~13行表示的是擷取switch控件對象,并設定其屬性。其中switch控件的屬性也可以在配置檔案中設定。
第14~19行表示為switch控件設定監聽器,并重寫相應的方法,第20~24行為根據switch控件的狀态切換imageview的圖檔的方法。