Как установить собственный вид высоты половину ширины внутри себя? - PullRequest
0 голосов
/ 03 декабря 2018

андроид как настроить кастом LinearLayout высота на половину ширины внутри себя.

 @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, widthMeasureSpec / 2);
}

я использую этот код, но ребенок отключен.

1 Ответ

0 голосов
/ 03 декабря 2018
public class CustomLinearLayout extends LinearLayout {

    private static final float RATIO = 0.5f;

    public CustomLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthSpec, int heightSpec) {
        int customHeight = MeasureSpec.makeMeasureSpec(
                            (int)(MeasureSpec.getSize(widthSpec) * RATIO), MeasureSpec.EXACTLY);
        super.onMeasure(widthSpec, customHeight);
    }
}
...