Android中View和ViewGroup的詳細解釋:
Android中View和ViewGroup的詳細解釋
1. 概述:
Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎上的。所有View的子類成為”Widget”,所有ViewGroup的子類成為”Layout”。View和ViewGroup之間採用了組合設計模式,可以使得“部分-整體”同等對待。ViewGroup作為佈局容器類的最上層,佈局容器裡面又可以有View和ViewGroup。
2. 理解:
當我們執行程式的時候,有一個setContentView()方法,Activity其實不是顯示檢視(直觀上感覺是它),實際上Activity呼叫了PhoneWindow的setContentView()方法,然後載入檢視,將檢視放到這個Window上,而Activity其實構造的時候初始化的是Window(PhoneWindow),Activity其實是個控制單元,即可視的人機互動介面。
(1).打個比方如下:
Activity是一個工人,它來控制Window;Window是一面顯示屏,用來顯示資訊;View就是要顯示在顯示屏上的資訊,這些View都是層層重疊在一起(通過infalte()和addView())放到Window顯示屏上的。而LayoutInfalter就是用來生成View的一個工具,XML佈局檔案就是用來生成View的原料。
(2).Activity、Window、View之間的關係:
Activity是Window和View之間的橋樑,將View的內容資訊顯示在Window視窗上面。
3. 結構圖如下:
在Android中,view是不能直接新增子view的,要通過view的靜態內部類ViewGroup來新增。
4.注意點:
所有Activity檢視的根節點都是FrameLayout,可以通過merge標籤來優化UI結構。
相關推薦
Android中View和ViewGroup的詳細解釋:
Android中View和ViewGroup的詳細解釋 1. 概述: Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎上的。所有View的子類成為”Widget”,所有ViewGroup的子類成為”Layout
Android中View和ViewGroup事件分發攔截機制完美分析
出自:http://www.cnblogs.com/linjzong/p/4191891.html Touch事件分發中只有兩個主角:ViewGroup和View。Activity的Touch事件事實上是呼叫它內部的ViewGroup的Touch事件,可以直接當成Vie
Android的基本元件和View和ViewGroup介紹
Android的基本元件 1.1 Activity 1.1.1 Activity代表手機的一個螢幕 1.1.2 一個Android程式由多個Activity組成,即:一個Android程式由多屏內容組成 1.1.3 Activity相當於一個展板,本身
Android自定義View和ViewGroup知識點彙總
一、View的繪製流程 onMeasure()->onDraw()。 二、ViewGroup的繪製流程 onMeasure()->onLayout()->onDraw()(一般不重寫)
[譯]最佳安全實踐:在 Java 和 Android 中使用 AES 進行對稱加密:第2部分:AES-CBC + HMAC
原文地址:Security Best Practices: Symmetric Encryption with AES in Java and Android: Part 2: AES-CBC + HMAC 本文是我上一篇文章:“最佳安全實踐:在 Java 和 Android 中使用 AES 進行
android 中 view 的寬度和高度
請轉載的朋友標明出處~~前言:今天在onCreate 的時候獲取view 的寬度 和 高度,發現結果是0。這就奇怪了,我已經在xml 中配置了高度、寬度了,怎麼會是0呢?度娘給出了答案!但是我還是希望能結合source code來解釋一下原因,所以我跟人小結一下。首先呢,看一
【Android View】Android中View對觸控事件的處理和傳遞dispatchTouchEvent、onInterceptTouchEvent
View中存在dispatchTouchEvent、onTouchEvent兩個方法。 而ViewGroup中則存在dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent三個方法。 呼叫順序依次為dispatchTouch
解決 Android 中 View 的 setPivotX 和 setPivotY 不生效的問題以及設定縮放中心的方法
背景是這樣的:有一個需求要對下方的關注按鈕實現如下動畫,動畫的最後要根據滑動位置對關注按鈕進行縮放,縮放結束時整體大小為控制元件原始大小的90%,最終效果圖如下所示(模擬器是 4.2 的系統,最上面的沉浸式有點問題,忽略之): 如圖,關注按鈕向上滑
Android中getDrawable和getColor過時的替代方法
this logs con 知識 log launcher 16px ase spa 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 前言 Android SDK 升級到 23 之後,getDrawable和getColor方法提示過時。 解決方案 getRe
android 中View, Window, Activity, WindowManager,ViewRoot幾者之間的關系
line 消息傳遞 post att 顯示 增加 調用 eas window對象 (1)View:最主要的UI組件,表示屏幕上的一個矩形區域。 (2)Window: 表示一個窗體,不一定有屏幕那麽大,能夠非常大也能夠非常小;
Android中 Bitmap和Drawable相互轉換的方法
canvas board null height .com factory oar tool pla 1、Drawable --> Bitmap [java] view plain copy Bitmap drawable2Bitmap(Drawabl
Android中Gallery和ImageSwitcher同步自動(滾動)播放圖片庫
目標 art trac repl otto fin instance img com 本文主要內容是如何讓Gallery和ImageSwitcher控件能夠同步自動播放圖片集 ,看起來較難,然而,實現的方法非常簡單, 請跟我慢慢來。總的來說,本文要實現的效果如下圖:(截
Android中View滑動實現方式
必須 elf 內部 track 視圖 相對 top roc mar 滑動作為Android中最基礎的特效之一,使用場景非常廣泛。實現的方式也有多種,理解各種滑動的實現方式。清楚在開發中根據自己的實際需求,選擇合理的實現方案。這篇文章從:scrollTo()/scroll
Android中View的getX,getY...
都是 raw 知識 left 相對 就是 alt 就會 pos Android坐標系的理解直接關系到後面你Android進階部分的學習,如果沒有夯實的基礎,你自定義View時就會有種欲求不滿,欲罷不能——想搞懂卻又覺得難,想放棄又覺得舍不得。
Android中RelativeLayout和LinearLayout性能分析
ant 顯示 二次 iou other comm 排列 vertica 簡單的 先看一些現象吧:用eclipse或者Android studio,新建一個Activity自動生成的布局文件都是RelativeLayout,或許你會認為這是IDE的默認設置問題,其實不然,
Android 中可變引數的使用 如:int...
每天積累一點點,時間久了,你就是大牛了 以前沒接觸過可變引數,見到就覺得挺新鮮的,特此記錄一下和大家分享。 1.可變引數的表示方式是物件後面加三個點(Object...),可以是 int...
Android中Service和IntentService的差別
前言: ServiceTimeout(20 seconds)小概率型別Service在特定的時間內無法處理完成,會造成ANR — 應用程式無響應(ANR:Application Not Responding)的情況 ▲ 分析 : 避免ANR最核心的一點就是在主執行緒減少耗時操作。這時我們
Faster R-cnn中的RPN網路詳細解釋
作者RPN網路前面的g層借用的是ZF網路,網路相對較淺,不過並不影響後期介紹。 1、首先,輸入圖片大小是 224*224*3(這個3是三個通道,也就是RGB三種) 2、然後第一層的卷積核維度是 7*7*3*96 (所以大家要認識到卷積核都是4維的,在caffe的矩陣計算中都是這麼實現的); 3、
Android中Serializable和Parcelable序列化物件詳解
學習內容: 1.序列化的目的 2.Android中序列化的兩種方式 3.Parcelable與Serializable的效能比較 4.Android中如何使用Parcelable進行序列化操作 5.Parcelable的工作原理 6.相關例項 1.序列化
OepnGL中 VAO和VBO詳細講解
講解一: 講解二: 講解三: 講解四: 講解五: 講解六: 講解七: