1. 程式人生 > >MeasureSpec中三種模式

MeasureSpec中三種模式

MeasureSpec.EXACTLY:使用measureSpec中size的值作為寬高的精確值
當我們將控制元件的layout_width或layout_height指定為具體數值時如andorid:layout_width=”50dip”,或者為FILL_PARENT是,都是控制元件大小已經確定的情況,都是精確尺寸。

MeasureSpec.AT_MOST:使用measureSpec中size的值作為最大值,採用不超過這個值的最大允許值
當控制元件的layout_width或layout_height指定為WRAP_CONTENT時,控制元件大小一般隨著控制元件的子空間或內容進行變化,此時控制元件尺寸只要不超過父控制元件允許的最大尺寸即可。因此,此時的mode是AT_MOST,size給出了父控制元件允許的最大尺寸。

MeasureSpec.UNSPECIFIED是未指定尺寸,這種情況不多。
ScrollView中的子View們,他們在高度上是沒有限制的, ScrollView在高度上面會賦予他們UNSPECIFIED,自身有多高就顯示多高。

相關推薦

MeasureSpec模式:UNSPECIFIED,AT_MOST,EXACTLY

在自定義View和ViewGroup的時候,我們經常會遇到int型的MeasureSpec來表示一個元件的大小,這個變數裡面不僅有元件的尺寸大小,還有大小的模式。 這個大小的模式,有點難以理解。在系統中元件的大小模式有三種: 1.精確模式(MeasureSpec.EXA

MeasureSpec模式

MeasureSpec.EXACTLY:使用measureSpec中size的值作為寬高的精確值 當我們將控制元件的layout_width或layout_height指定為具體數值時如andorid:layout_width=”50dip”,或者為FILL_

Linuxvim的模式以及基本命令

body 指定 col -s global 使用 全局 oba .com 在Linux中vim的三種模式分別為:命令模式、末行模式、編輯模式。以下是三者的關系圖: 三種模式的彼此切換: 命令模式是vim中的默認模式。 命令模式切換至末行模式: 使用英文冒號(:)。 末行模

VM Ware網絡適配器的模式介紹

sha 獨立計算 mage 需要 只需要 獨立 隨機生成 管理 網絡地址轉換 大家在安裝完虛擬機後,默認安裝了兩個虛擬網卡,VMnet1和VMnet8,如下圖:其中VMnet1是host網卡,用於host方式連接網絡的。VMnet8是NAT網卡,用於NAT方式連接網絡的。它

C#單例模式

一、經典模式:     public class DoSomething     {         private static DoSomething doSomething;         private DoSomething() { }         pu

UnityCanvas的Render Mode的模式介紹

Screen Space—Overlay:將UI渲染為攝像機檢視頂部的2D圖形(預設設定) Screen Space—Camera:也將UI渲染在攝像機檢視頂部,但UI元素可以進行透視效果旋轉 World Space:將畫布物件放置在場景中,就好像UI是3D場景中的一部分。

Linux網路模式是什麼意思——Host-Only(僅主機模式

三、Host-Only(僅主機模式) Host-Only模式其實就是NAT模式去除了虛擬NAT裝置,然後使用VMware Network Adapter VMnet1虛擬網絡卡連線VMnet1虛擬交換機來與虛擬機器通訊的,Host-Only模式將虛擬機器與外網隔

LinuxVim編輯器模式和命令

原文地址:http://www.tuicool.com/articles/NZz2ii Vim的3種模式:一般模式、編輯模式和命令模式。 當我們是用“ vim filename ”編輯一個檔案的時候,預設進入該檔案的一般模式。 開啟檔案的命令有很多,如下圖所示。

androidMVC,MVP和MVVM模式詳解析

我們都知道,android本身就採用了MVC模式,model層資料來源層我們就不說了,至於view層即通過xml來體現,而 controller層的角色一般是由activity來擔當的。雖然我們專案用到了MVP模式,但是現在人們並沒有總結出一種規範,所以MVP模式的寫法並不

VMware網路模式設定指南

一、引言 在windows上搭建叢集實驗環境時,常見的可以通過VMware建立多個虛擬機器作為叢集結點。為了能夠讓叢集結點之間能夠相互通訊,我們需要通過VMware進行網路設定。這裡,我們將介紹VMw

java代理模式

1.代理模式 代理(Proxy)是一種設計模式,提供了對目標物件另外的訪問方式;即通過代理物件訪問目標物件.這樣做的好處是:可以在目標物件實現的基礎上,增強額外的功能操作,即擴充套件目標物件的功能. 這裡使用到程式設計中的一個思想:不要隨意去修改別人已經寫好的程式碼或者方法

java循環的區別

一次 for ava 循環 初始 條件 如果 -- pre while(條件){循環體}先判斷條件,滿足就執行循環體,不滿足則退出;do{循環體}while(條件)先執行一次循環體,再判斷條件,如果條件滿足,繼續執行,不滿足,退出循環,最少執行一次;for(<初始化&

CSS格式與布局位置的理解與應用

tom ora col 使用 其它 wid abs 方式 出現   第一種位置關系:position:fixed 鎖定位置(相對於整個瀏覽器的位置),常用在各大網站的右下角或其它位置的小廣告。 如果需要調整鎖定位置,需要使用如下方式:<div style="widt

mysql binlog日誌的模式

base 新版 產生 日誌模式 出現 行數據 原本 兩種模式 可能 1、statement level模式 每一條會修改數據的sql都會記錄到master的bin-log中。slave在復制的時候sql進程會解析成和原來master端執行過的相同的sql來再次執行。優點:s

C++創建對象的方法【轉】

內存 stream self 一般來說 ron ref 支持 內存碎片 搜索 我們都知道C++中有三種創建對象的方法,如下: #include <iostream> using namespace std; class A { private: in

Golang 讀取文件發放性能對比

多少 amp 性能 title 進行 con 讀取 == 生態 Golang 中讀取文件大概有三種方法,分別為:     1. 通過原生態 io 包中的 read 方法進行讀取     2. 通過 io/ioutil 包提供的 read 方法進行讀取     3. 通過 b

VMware網絡的模式

vmware1.Bridged模式2.NAT模式3.Host-only模式VMware網絡的三種模式

Android常用解析XML的方式(DOM、SAX、PULL)簡介及區別

字符串 lan win name屬性 Coding 空間 toc log fin XML在各種開發中都廣泛應用,Android也不例外。作為承載數據的一個重要角色,如何讀寫XML成為Android開發中一項重要的技能。今天就由我向大家介紹一下在Android平臺下幾種常見的

第十三節: EF的模式() 之 來自數據庫的CodeFirst模式

三種 相同 blog size 好的 不一致 mil 簡介 pan 一. 簡介   【來自數據庫的Code First模式】實質上並不是CodeFirst模式,而是DBFirst模式的輕量級版本,在該模式中取消了edmx模型和T4模板,直接生成了EF上下文和相應的類,該模

Vi編輯器的模式

linux vi編輯器的三種模式 Vi編輯器的三種模式1)一般模式 (光標移動、復制、粘貼、刪除)2)編輯模式 (編輯文本)3)命令行模式 (查找和替換)ESC:返回鍵vi 文件名查找字符串,使用/加上要查找的字符串,如:/abc輸入/後,就進入命令行模式一般模式,輸入: 或 \ 或 ?就進