2 回答

TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超1個贊
//測量
? ? @Override
? ? protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
? ? ? ? int widthSize = MeasureSpec.getSize(widthMeasureSpec);
? ? ? ? int widthMode = MeasureSpec.getMode(widthMeasureSpec);
? ? ? ? int highSize = MeasureSpec.getSize(heightMeasureSpec);
? ? ? ? int highMode = MeasureSpec.getMode(heightMeasureSpec);
? ? ? ? int width = Math.min(widthSize,highSize); //獲取最小值來實(shí)現(xiàn)正方形布局
? ? ? ? //防止出現(xiàn)尺寸為0不顯示
? ? ? ? if (widthMode == MeasureSpec.UNSPECIFIED){
? ? ? ? ? ? width = highSize;
? ? ? ? }else if (highMode == MeasureSpec.UNSPECIFIED){
? ? ? ? ? ? width = widthSize;
? ? ? ? }
? ? ? ? setMeasuredDimension(width, width); //設(shè)置寬高 即正方形布局
- 2 回答
- 0 關(guān)注
- 1586 瀏覽
添加回答
舉報(bào)