java - Gridlayout with 2x2 imageview android -
i,ve got gridview gets 4 imageviews adapter, want have them 2x2 resized , fitted on screen.
here´s code that:
@override protected view createquizcontentview() { manswerview = new gridview(getcontext()); statelistdrawable selector = new statelistdrawable(); selector.addstate(new int[]{android.r.attr.state_pressed}, new colordrawable(color.ltgray)); selector.addstate(new int[]{-android.r.attr.state_pressed}, new colordrawable(color.white)); manswerview.setselector(selector); //manswerview.setselector(r.drawable.selector_button); manswerview.setnumcolumns(2); manswerview.setadapter(new optionsquizadapter(getquiz().getoptions(), r.layout.imgitem_answer)); manswerview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { manswered = position; allowanswers(manswerview,position); } }); return manswerview; }
and
@override public view getview(int position, view convertview, viewgroup parent) { if (convertview == null) { layoutinflater inflater = layoutinflater.from(parent.getcontext()); convertview = inflater.inflate(mlayoutid, parent, false); } final imageview imageview; string text = gettext(position); context context = parent.getcontext(); resources resources = context.getresources(); string stripped = text.replace("-", ""); final int resourceid = resources.getidentifier(stripped, "drawable", context.getpackagename()); drawable d = contextcompat.getdrawable(context, resourceid); windowmanager wm = (windowmanager) context.getsystemservice(context.window_service); display display = wm.getdefaultdisplay(); point size = new point(); display.getsize(size); int height = size.y; double dviewheight = height/3.32; int viewheight = (int)dviewheight; imageview = (imageview) convertview; imageview.setpadding(64, 64, 64, 64); convertview.setlayoutparams(newgridview.layoutparams(gridview.auto_fit, viewheight)); imageview.setimagedrawable(d); return imageview; }
at moment i´am setting height of imageview inside gridview getting screensize , dividing works fine on device resolution still prefer more dynamic solution work if added more rows gridview.
this how looks:
when use gridview.auto_fit on height add lot of useless space , scrollbar on right this:
i have tried several configurations , stretches none seems work. way achieve want programmatically without xml?
try this: gridview.setnumcolumns(2);
Comments
Post a Comment