android onMeasue方法的问题

天王盖地虎626 发布于 2016/03/05 15:09
阅读 107
收藏 0

public static class MeasureSpec { 
    private static final int MODE_SHIFT = 30; 
    private static final int MODE_MASK  = 0x3 << MODE_SHIFT; 
    public static final int UNSPECIFIED = 0 << MODE_SHIFT; 
    public static final int EXACTLY     = 1 << MODE_SHIFT; 
    public static final int AT_MOST     = 2 << MODE_SHIFT;   
    public static int makeMeasureSpec(int size, int mode) { 
        return size + mode; 
    }  
    public static int getMode(int measureSpec) { 
        return (measureSpec & MODE_MASK); 
    }   
    public static int getSize(int measureSpec) { 
        return (measureSpec & ~MODE_MASK); 
    } 

请问下,这红色标注的地方,是啥意思?我看不懂,呜呜,帮我解释下哦

& ~ 都是表示啥呀?

 

加载中
0
有名者赫赫
有名者赫赫
这是基本的Java语法问题。&是与,~取反。这2个是位操作符measureSpec 前面2位表示模式,后面30位表示尺寸。这句话是去掉前面的模式保留尺寸。
返回顶部
顶部