android - How to set `ImageView`'s height to match it's width while `layout_weight` is set? -
here deal: have gridview android:numcolumns="2". items in gridview imageviews android:layout_weight="1", half screen width. problem heightproperty, should equal width. tried play scaleype, far without success. how can set width of gridview elements fill half screen , set height equal width?
you have imageviews width programmatically , set height.
but if use img.getwidth(); eg. in oncreate(), return 0 because hasn't been drawn yet.
so have in oncreate():
imageview img = (imageview) findviewbyid(r.id.img); viewtreeobserver vto = img.getviewtreeobserver(); vto.addonpredrawlistener(new viewtreeobserver.onpredrawlistener() { public boolean onpredraw() { int x; img.getviewtreeobserver().removeonpredrawlistener(this); x = img.getmeasuredwidth(); img.setlayoutparams(new linearlayout.layoutparams(x,x)); return true; } }); this imageview's width after been drawn , set height equal it.
Comments
Post a Comment