




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
自定義控件講師:玉麒麟黑馬訓(xùn)練營課程內(nèi)容介紹
黑馬訓(xùn)練營自定義控件在android開發(fā)中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學(xué)習(xí),能讓大家了解自定義控件的原理,熟悉自定義控件的使用步驟,并能寫出一些普通的效果。內(nèi)容介紹:1、使用系統(tǒng)控件,實(shí)現(xiàn)自定義的效果,案例有:優(yōu)酷環(huán)形菜單、廣告條(Viewpager)、下拉菜單(spinner)2、自己定義一個(gè)類繼承View,實(shí)現(xiàn)特定的效果,案例有: 自定義開關(guān)按鈕、水波紋效果3、自定義屬性:給自己的控件,添加自己的屬性,通過demo了解系統(tǒng)解析屬性的過程,并給上一個(gè)例子開關(guān)按鈕,添加新屬性。
4、自己定義一個(gè)類繼承ViewGroup,實(shí)現(xiàn)相應(yīng)的效果,案例有:仿ViewPager的效果實(shí)現(xiàn)、仿網(wǎng)易側(cè)滑菜單Android常用控件回顧Android本身提供了很多控件,如:文本控件 TextView和EditText;圖片控件 ImageView按鈕控件 Button和ImageButton進(jìn)度條 ProgressBar單選按鈕 RadioButton和RadioGroup復(fù)選按鈕 CheckBox狀態(tài)開關(guān)按鈕ToggleButton時(shí)鐘控件 AnalogClock和DigitalClock日期與時(shí)間選擇控件DatePicker和TimePicker等。。。。
黑馬訓(xùn)練營
文本控件TextView和EditTextTextView控件繼承自View類。TextView控件的功能是向用戶顯示文本內(nèi)容,TextView不允許編輯。EditText控件繼承自TextView。EditText與TextView最大的不同是EditText是可以編輯的黑馬訓(xùn)練營圖片控件ImageViewImageView控件負(fù)責(zé)顯示圖片,其圖片來源既可以是資源文件的id,也可以是Drawable對象或Bitmap對象,還可以是內(nèi)容提供者(ContentProvider)的Uri.黑馬訓(xùn)練營
按鈕控件Button和ImageButtonButton控件繼承自TextView類,Button的用法比較簡單,主要是為Button設(shè)置一個(gè)點(diǎn)擊事件監(jiān)聽器,并在編寫按鈕點(diǎn)擊事件的處理代碼。ImageButton控件繼承自ImageView。ImageButton與Button相同之處:都用于響應(yīng)按鈕的點(diǎn)擊事件不同之處:ImageButton只能顯示圖片;Button用于顯示文字黑馬訓(xùn)練營進(jìn)度條 ProgressBarProgressBar繼承自View,用于顯示正在運(yùn)行的狀態(tài)。有兩種顯示形式:一種是環(huán)形顯示只用于顯示狀態(tài),沒有具體的進(jìn)度。第二種是水平顯示,可以顯示具體的進(jìn)度。通過設(shè)置不同的Style顯示不同的樣式:style="?android:attr/progressBarStyleLarge" 環(huán)形樣式style="?android:attr/progressBarStyleHorizontal" 水平樣式黑馬訓(xùn)練營單選按鈕RadioButton和
復(fù)選按鈕CheckBoxCheckBox和RadioButton都繼承自CompoundButton,都只有選中和未選中兩種狀態(tài),可以通過checked屬性來設(shè)置。不同的是RadioButton是單選按鈕,在一個(gè)RadioGroup中只能有一個(gè)RadioButton按鈕處于選中狀態(tài);CheckBox則可以有多個(gè)按鈕被選中。黑馬訓(xùn)練營
狀態(tài)開關(guān)按鈕ToggleButtonToggleButton控件是繼承自CompoundButton。ToggleButton的狀態(tài)只能是選中和未選中,并且需要為不同的狀態(tài)設(shè)置不同的顯示文本。除了繼承自父類的一些屬性和方法之外,ToggleButton也具有一些自己的屬性。黑馬訓(xùn)練營時(shí)鐘控件
AnalogClock和DigitalClockAnalogClock繼承自View,用于顯示模擬時(shí)鐘只顯示時(shí)針和分針。DigeitalClock繼承自TextView。用于顯示數(shù)字時(shí)鐘可精確到秒。時(shí)鐘控件比較簡單,只需要在布局文件中聲明控件即可。黑馬訓(xùn)練營日期選擇器DatePicker和
時(shí)間選擇器TimePickerDatePicker繼承自FrameLayout類,日期選擇控件的主要功能是向用戶提供包含年、月、日的日期數(shù)據(jù),并允許用戶對其修改。如果要捕獲這個(gè)修改,可以為DatePicker添加onDateChangedListener監(jiān)聽器。TimePicker同樣繼承自FrameLayout類。時(shí)間選擇控件向用戶顯示一天中的時(shí)間,可以為24小時(shí)制,可以為AM/PM制,并允許用戶進(jìn)行修改。如果要捕獲用戶的修改事件,需要為TimePicker添加OnTimeChangedListener監(jiān)聽器黑馬訓(xùn)練營黑馬訓(xùn)練營系統(tǒng)提供的控件雖然很豐富,
但是,還遠(yuǎn)遠(yuǎn)不夠。有的時(shí)候我們必須要自己定義控件來滿足我們的要求。使用系統(tǒng)控件組合成新的控件黑馬訓(xùn)練營知識點(diǎn)小結(jié):黑馬訓(xùn)練營1、相對布局的練習(xí),要先聲明做為基準(zhǔn)的view對象。2、RotateAnim動(dòng)畫的定義,默認(rèn)的旋轉(zhuǎn)圓心是從標(biāo)原點(diǎn),水平向右為0度,角度按順時(shí)針方向增加。3、添加動(dòng)畫執(zhí)行的監(jiān)聽,以解決按鍵雙擊時(shí),動(dòng)畫不正常的bug。4、對ViewPager的使用,PagerAdapter中覆蓋的4個(gè)方法的具體含義。5、ViewPager實(shí)現(xiàn)左、右無限循環(huán)。6、對頁面切換進(jìn)行事件監(jiān)聽。使用現(xiàn)有控件組合成新控件黑馬訓(xùn)練營下拉框效果:在editText的右邊放置一個(gè)小箭頭的圖片,點(diǎn)擊圖片,在editText的下方彈出一個(gè)popupWindow,并對popupWindow進(jìn)行一些設(shè)置即得到想要的效果。繼承已有View實(shí)現(xiàn)自定義View通過對android原生控件的研究,可以發(fā)現(xiàn)android中的控件都是繼承view類,如textView、ImageView等,通過重寫相關(guān)的方法來實(shí)現(xiàn)新的效果,通過這個(gè)我們得到兩點(diǎn):我們可以在已有控件的基礎(chǔ)上,通過重寫相關(guān)方法來實(shí)現(xiàn)我們的需求。繼承view類或viewgroup類,來創(chuàng)建我們所需要的控件。一般來講,通過繼承已有的控件,來自定義控件要簡單一點(diǎn)。黑馬訓(xùn)練營繼承已有View實(shí)現(xiàn)自定義View黑馬訓(xùn)練營滑動(dòng)開關(guān)按鈕主要步驟:1、自定義類MyToggleButton繼承自View2、重寫onMeasure方法,指定控件大小。3、重寫onDraw方法,繪制控件內(nèi)容。4、重寫onTouchEvent方法,對touch事件進(jìn)行解析。為新控件添加自定義的屬性黑馬訓(xùn)練營主要步驟:1、在attrs.xml文件中聲明屬性,有屬性名:name和格式:format。如:
<declare-styleablename="MyToggleBtn"><attrname="current_state"format="boolean"/></declare-styleable>2、在布局文件中使用新屬性,使用之前必須先聲明命名空間,如:xmlns:heima=""3、在自定義view的構(gòu)造方法當(dāng)中,通過解析AttributeSet對象,獲得所需要的屬性值。繼承已有ViewGroup實(shí)現(xiàn)自定義控件黑馬訓(xùn)練營模擬ViewPager的效果:實(shí)現(xiàn)步驟:1、自定義view繼承viewGroup。2、重寫onLayout方法,為每一個(gè)子View確定位置。3、重寫onTouchEvent方法,監(jiān)聽touch事件,并用scrollTo()或scrollBy()方法移動(dòng)view,4、監(jiān)聽UP事件,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外檐保溫合同范本
- 廠房全租合同范本
- 勞務(wù)派遣合同范本南京
- 農(nóng)村煙酒供應(yīng)合同范本
- 臺歷打孔合同范本
- 出售舊鋼骨架合同范本
- 前期物業(yè)管理合同范例
- 單位購買二手房合同范本
- 發(fā)票增額購銷合同范例
- 合股經(jīng)營學(xué)校合同范本
- 2025年廣州市黃埔區(qū)東區(qū)街招考社區(qū)居委會(huì)專職工作人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《中國心力衰竭診斷和治療指南2024》解讀
- 2025中國人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 某寺廟施工組織設(shè)計(jì)方案
- 中國食物成分表2020年權(quán)威完整改進(jìn)版
- 伊斯蘭法 外國法制史 教學(xué)課課件
- 汽車維修保養(yǎng)服務(wù)項(xiàng)目投標(biāo)文件
- 增額終身壽險(xiǎn)的購買理由
- 【MOOC】影視鑒賞-揚(yáng)州大學(xué) 中國大學(xué)慕課MOOC答案
- 智研咨詢發(fā)布:2025年中國商用密碼行業(yè)市場現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 《氫科學(xué)技術(shù)應(yīng)用》課件-3-1 氫氣的儲存
評論
0/150
提交評論