Android-UI基礎

來源:互聯網
上載者:User

標籤:android   控制項   ui   activity   

Android-UI基礎 一 UI和UI介面
UI就是使用者介面
UI繼承View這個基類,看View的原始碼

UI的基本架構,附上一張圖:


二 常用概念
UI的呈現,UI的事件,UI的布局
控制項樹的概念:ViewGroup下面又可以有ViewGroup或者View

三 自訂介面view
1 自訂View類繼承自系統的View,
2 然後在Activity中執行個體化自訂View類的對象x
3 最後setContentView(x)
可以進行代碼跟蹤
1 Activity->phonewindow->view->layout
2 Activity->phonewindow->doceview
3 canvas內的畫圖的方法
4 view類onDraw

四 介面組件呈現的底層機制

1 surface下是映像顯示驅動,字元裝置驅動:framebuffer
2 skia:2D類庫
3 OpenGL:3D類庫
如:


五 Android介面事件機制
1 事件分類:
KeyEvent:硬鍵盤的點擊事件
TouchEvent:觸摸事件
View和Activity都有上面兩種事件機制
TrackballEvent:軌跡球事件

2 事件觸發的兩種方法:
內部方法:
擴充View的時候回調相應的事件函數
onKeyUp
onTouchEvent
注意,需要設定自訂控制項的焦點
setFocusable(true);
setFocusableInTouchMode(true);

外部方法:
註冊事件監聽器

3 時間分發dispatchKeyEvent:
KeyEvent分發:
訊息發到當前上下文
context發到window
window優先發給IME表單
發給rootView(DecorView)
發給焦點View(事件接收機制預設返回false,允許下一步接受)
自訂控制項->linux通過pipe進程間通訊傳給->Activity->phonewindows->rootview->焦點view

TouchEvent分發:
從下往上:
自訂控制項->rootview->phonewindow->activity

六 自訂介面的呈現
介面呈現機制:
1 呈現的兩種方式:
xmlLayout呈現
動態編碼實現:動態布局和畫動態控制項
2 呈現的核心:onDraw方法的使用

七 補充
使用者互動設計師:給出具體的想法和UI圖
視覺美工師:實現想法->真正的介面
介面實現:程式員或者是編碼能力強的視覺設計師
介面為何用xml:可以分離,程式員可以不去管xml的layout,讓視覺設計師實現

八 面試題
1 View是所有控制項的基類,說說他和Activity和window的關係
2 view的核心是什麼,能否說下裡面的onDraw函數
3 自訂群組件如何?自訂事件
4 NinePatch是什嗎?要求會使用
5 介紹下Android的介面事件機制

Android-UI基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.