古詩詞大全網 - 成語查詢 - Android面試題集(三)

Android面試題集(三)

自定義View的最基本的三個方法分別是:onMeasure(),onLayout()、onDraw();View在Activity中顯示出來,要經歷測量、布局、繪制三個步驟,分別對應三個動作:measure、layout和draw。

視圖View主要分為兩類

系統自帶的View可以在xml中配置屬性,對於寫的好的自定義View同樣可以在xml中配置屬性,為了使自定義的View的屬性可以在xml中配置,需要以下4個步驟:

1、通過<declare-styleable>為自定義View添加屬性

2、在xml中為相應的屬性聲明屬性值

3、在運行時(壹般為構造函數)獲取屬性值

4、將獲取到的屬性值應用到View

Android的坐標系定義為:

測量規格,封裝了父容器對View的布局上的限制,內部提供了寬高的信息(SpecMode、SpecSize),SpecSize是指在某種SpecMode下的參考尺寸,其中SpecMode有如下三種:

通過將SpecMode和SpecSize 打包成壹個int值可以避免過多的對象內存分配 ,為了方便操作,其提供了打包/解包方法。

MeasureSpec值到底是如何計算得來的呢?

子View的MeasureSpec值是根據子View的布局參數(LayoutParams)和父容器的MeasureSpec值計算得來的,具體計算邏輯封裝在getChildMeasureSpec()裏

官方解釋:用於管理Activity和Fragment的生命周期

其實Lifecycles的功能就是使業務組件能夠感知Activity和Fragment的生命周期。