Android開發自學筆記(Android Studio)—4.界面編程與View組件簡單介紹


一、引言

Android應用開發最重要的一份內容就是界面的開發,無論你程序包含的內容多么優秀,如若沒有一個良好的用戶交互界面,最終也只是會被用戶所遺棄。Android SDK提供了大量功能豐富的UI組件,開發者只需要拖拖拽拽就能完成簡單的應用,這些只是界面的展示,如果要完成優秀的用戶交互,事件響應機制當然也是重點,這是后話。

Android SDK中絕大部分UI組件都在androd.widget及其子包、android.view及其子包下,Android應用中的所有UI組件都繼承了View類,View類還有一個重要的子類:ViewGroup,下面簡單介紹下這兩個類。

二、View

View是什么,可能每個人都有自己不同的理解。在Android官方文檔中是這么說的:這個類表示了用戶界面的基本構建模塊。一個View占用了屏幕上的一個矩形區域並且負責界面繪制和事件處理。View是用來構建用戶界面組件(Button,Textfields等等)的基類。其實,說白了,View就是一個空白的矩形區域,類似於winform中的panel,swing開發中的JPanel,我們可以在這個空白的矩形區域內定義自己的控件。

對於View類而言,它是所有UI組件的基類,所以它是屬性是所有組件都可以使用的,所以建議認真看一下API中關於View類的屬性。

三、ViewGroup

ViewGroup是View的子類,所以它也可以被當成View使用,它可以作為容器來放其他組件,由於ViewGroup是一個抽象類,所以實際通常都是使用ViewGroup的子類,例如UI組件的中布局類UI組件都是繼承自ViewGroup的。

四、Context

在實際操作中,無論創建哪種UI組件,都需要傳入一個Context的參數,而Context是什么呢?在加載資源、啟動一個新的Activity、獲取系統服務、獲取內部文件(夾)路徑、創建View操作時等都需要Context的參與,可見Context的常見性。Context字面意思上下文,或者叫做場景,也就是用戶與操作系統操作的一個過程,比如打電話,場景包括電話程序對應的界面,以及隱藏在背后的數據;Android系統的角度來理解:Context是一個場景,代表與操作系統的交互的一種過程。從程序的角度上來理解:Context是個抽象類,而Activity、Service、Application等都是該類的一個實現,因此,Activity、Service都可以直接作為Context使用。

五、結語&預告

從上一章到這一章,隔了太久的時間了,最近公司管理層變動,人員流動很大,所以作為小人物的我忙的熱火朝天…進度有點跟不上了,但是又不想放下技術的學習,所以擠出來點時間繼續好好看書、看博客好好學習。Android Studio最新的版本都已經更新了1.5.X了,我機器上也更新到了1.4.1,所以文章標題也不再寫版本信息了,只要是1.3.x后的版本應該都是支持的,有問題可以多互相溝通。

 

好了,說點學習的東西,對於UI組件的學習,我覺得瘋狂講義這本書安排的非常合理,我也非常認可,所以我學習也是按照這種思路來學習,后面的UI組件的章節也會照着這個思路來。因為UI組件比較多,如果不理順他們的關系,孤立的去學習,強行的去記憶,估計學習起來也會很費勁,所以下面我們根據它們的內在關聯,分成了幾組進行學習,以下是分組情況:

第一組:布局組件

LinearLayout(線性布局)、TableLayout(表格布局)、FrameLayout(框架布局)、RelativeLayout(相對布局)、GridLayout(網格布局)、AbsoluteLayout(絕對布局)

第二組:TextView及其子類

TextView、EditView、Button、RadioButton、CheckBox…

第三組:ImageView及其子類

ImageView…

第四組:AdapterView及其子類

ListView…Adapter接口…

第五組:ProgressBar及其子類

ProgressBar、SeekBar、RatingBar…

第六組:ViewAnimator及其子類

ViewSwitcher、ImageSwitcher、TextSwitcher…

第7組:其它雜項組件

Toast、日歷視圖、時間(日期)選擇器、數值選擇器、搜索框…

第8組:對話框

日期(時間)選擇對話框、進度對話框…

第9組:菜單

第10組:ActionBar

 

這些內容為暫定吧,可能會根據實際學習內容進行調整。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM