转自:详解嵌套ListView、ScrollView布局显示不全的问题
**3种模式
UNSPECIFIED模式,官方意思是:父布局没有给子布局强加任何约束,子布局想要多大就要多大,说白了就是不确定大小
EXACTLY模式,官方意思是:父布局给子布局限定了准确的大小,子布局的大小就是精确的,父亲给多大就是多大
AT_MOST模式,官方意思是:父布局给定了一个最大的值,子布局的大小不能超过这个值,当然可以比这个值小
3个方法
1.public static int makeMeasureSpec(int size, int mode) ,这个方法的作用是根据大小和模式来生成一个int值,这个int值封装了模式和大小信息
2.public static int getMode(int measureSpec),这个方法的作用是通过一个int值来获取里面的模式信息
3.public static int getSize(int measureSpec),这个方法的作用是通过一个int值来获取里面的大小信息**
另外顺便记录一下java中的左移和右移。
public class MainTest {
private static int num = 10;
public static void main(String[] args){
System.out.println(num >> 2);
System.out.println(num << 2);
System.out.println(Integer.MAX_VALUE >> 2);
}
}
输出结果:
2
40
536870911
二进制中 : 1 1 1 1
十进制中 : 8 4 2 1 【2^3 , 2^2 , 2^1 , 2^0】
数字10的二进制为:1010
8421
所以:10 >> 2 —-> 0010|10 结果:0+0+2+0=2;
32 16 8 4 2 1
同理:10 << 2 —-> 1 ,0, 1, 0| 0 0 结果:32+0+8+0=40;