亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使GridView項目變為正方形

使GridView項目變為正方形

LEATH 2019-12-18 16:43:31
我希望我的物品GridView擺正。有兩列,項目寬度為fill_parent(例如,它們占用盡可能多的水平空間。項目是自定義視圖。如何使物品的高度等于其可變寬度?
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

拉伸GridView列時,有一個更簡單的解決方案。只需使用以下方法覆蓋GridView項布局的onMeasure即可:


@Override

public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    super.onMeasure(widthMeasureSpec, widthMeasureSpec);

}


查看完整回答
反對 回復 2019-12-18
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

或者,如果您想擴展View,只需執行一些非常簡單的操作即可:


public class SquareImageView extends ImageView

{


    public SquareImageView(final Context context)

    {

        super(context);

    }


    public SquareImageView(final Context context, final AttributeSet attrs)

    {

        super(context, attrs);

    }


    public SquareImageView(final Context context, final AttributeSet attrs, final int defStyle)

    {

        super(context, attrs, defStyle);

    }



    @Override

    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec)

    {

        final int width = getDefaultSize(getSuggestedMinimumWidth(),widthMeasureSpec);

        setMeasuredDimension(width, width);

    }


    @Override

    protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh)

    {

        super.onSizeChanged(w, w, oldw, oldh);

    }

}

值得注意的super.onMeasure()是不需要。onMeasured要求是您必須致電setMeasuredDimension。


查看完整回答
反對 回復 2019-12-18
  • 3 回答
  • 0 關注
  • 654 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號