android - How to create imageviews dynamically on runtime? -


im building android app needs create max of 1-4 imageviews depending on number of images need display on screen. have written small code doesn't seem divide screen equally on 4 imageviews though. top 2 little larger bottom 2 in case. following code cant think issue is

private void createscreen() {     int screenheight = getwindowmanager().getdefaultdisplay().getheight();     int screenwidth = getwindowmanager().getdefaultdisplay().getwidth();      int matrixn = 2;      int maxwforeachscreen = screenwidth / matrixn;     int maxhforeachscreen = screenheight / matrixn;     relativelayout relativelayout = (relativelayout) findviewbyid(r.id.relativelayoutfullscreen);      imageview imgview1 = new imageview(liveviewer.this);     imageview imgview2 = new imageview(liveviewer.this);     imageview imgview3 = new imageview(liveviewer.this);     imageview imgview4 = new imageview(liveviewer.this);      int size = 3;      if(size >= 3 && size <= 4)     {         imgview1.setimageresource(r.drawable.icon);         imgview2.setimageresource(r.drawable.icon);         imgview3.setimageresource(r.drawable.icon);         imgview4.setimageresource(r.drawable.icon);          relativelayout.layoutparams params1 = new relativelayout.layoutparams(100, 100);         relativelayout.layoutparams params2 = new relativelayout.layoutparams(100, 100);         relativelayout.layoutparams params3 = new relativelayout.layoutparams(100, 100);         relativelayout.layoutparams params4 = new relativelayout.layoutparams(100, 100);          params1.height = maxhforeachscreen/2;         params1.width = maxwforeachscreen/2;          params2.height = maxhforeachscreen/2;         params2.width = maxwforeachscreen/2;          params3.height = maxhforeachscreen/2;         params3.width = maxwforeachscreen/2;          params4.height = maxhforeachscreen/2;         params4.width = maxwforeachscreen/2;          params1.setmargins(0, 0, 0, 0);         params2.setmargins(maxwforeachscreen/2, 0, 0, 0);         params3.setmargins(0, maxhforeachscreen/2, 0, 0);         params4.setmargins(maxwforeachscreen/2, maxhforeachscreen/2, 0, 0);          relativelayout.addview(imgview1, params1);         relativelayout.addview(imgview2, params2);         relativelayout.addview(imgview3, params3);         relativelayout.addview(imgview4, params4);           } } 

you can set weightsum of parentlayout equal number of views.. , set 1 weight of every view...this make each views occupy equal space..


Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -