android - How to square a custom view when layout_height and layout_width are set to have different magnitudes? -
as per understanding when user specifies views height/width in pixels/dp, view receives spec mode. spec mode means view must use size. suppose want make sure view remains square. how can achieved if user sets different values layout_height , layout_width.
override onmeasure custom view, determine smallest dimension is, , set both width , height minimum dimension.
something like:
@override protected void onmeasure(int widthmeasurespec, int heightmeasurespec) {     super.onmeasure(widthmeasurespec, heightmeasurespec);     int specwidth = measurespec.getsize(widthmeasurespec);     int specheight = measurespec.getsize(heightmeasurespec);     int lesserdimension = (specwidth > specheight)?specheight:specwidth;     setmeasureddimension(lesserdimension, lesserdimension); } 
Comments
Post a Comment