android - Extending a view which overrides onMeasure() -
i have view view1
extends framelayout , overrides onmeasure() this, rendered square:
@override protected void onmeasure(int widthmeasurespec, int heightmeasurespec) { super.onmeasure(widthmeasurespec, widthmeasurespec); }
now want create view view2
extends view1
, want view2
have height equal parent, , hence cover full screen. of now, square too.
how achieve this?
in view 1:
private boolean measureassquare = true; @override protected void onmeasure(int widthmeasurespec, int heightmeasurespec) { if (measureassquare) { super.onmeasure(widthmeasurespec, widthmeasurespec); } else { super.onmeasure(widthmeasurespec, heightmeasurespec); } } public void setmeasureassquare(boolean b) { measureassquare = b; }
in view2 constructor subclasses view 1:
public view2(context c) { setmeasureassquare(false); }
then can use normal layout weight , height view 2 assign preferred size.
Comments
Post a Comment