android - Programmatic layout issue with incorrect height -


i'm trying create own toasts, , doing creating layout programmatically , setting layout toast's view layout.

this works absolutely fine of code, i've run quite specific issue can't seem fix.

i'm trying add image toast, , display image below or above text.
works 100% correctly when adding image above text. shown in first image below:
http://i58.tinypic.com/zn2ag3.png

but when try add image bottom, hell breaks loose , end this:
http://i59.tinypic.com/vdnyoj.png

here's code:

private void showtoast() {     //variables     context context = getactivity();     int imagegravity = gravity.bottom;     charsequence text = "test";      //create parent layout     relativelayout relativelayout = new relativelayout(context);     relativelayout.layoutparams rellayoutparams = new relativelayout.layoutparams(relativelayout.layoutparams.wrap_content, relativelayout.layoutparams.wrap_content);     relativelayout.setlayoutparams(rellayoutparams);      //set background color     relativelayout.setbackgroundcolor(0xfff44336);      //set padding     int padding = 10;     relativelayout.setpadding(padding, padding, padding, padding);      //initialize image     imageview imageview = new imageview(context);     int imageviewid = 0x100;     imageview.setid(imageviewid);     imageview.setadjustviewbounds(true);     imageview.setimageresource(r.drawable.default_person_image);     relativelayout.layoutparams imageviewparams = new relativelayout.layoutparams(relativelayout.layoutparams.wrap_content, relativelayout.layoutparams.wrap_content);     int margin = 30;     if(imagegravity == gravity.top) {         imageviewparams.addrule(relativelayout.align_parent_top, relativelayout.true);         imageviewparams.addrule(relativelayout.center_horizontal, relativelayout.true);         imageviewparams.setmargins(0, 0, 0, margin);     } else if(imagegravity == gravity.bottom) {         imageviewparams.addrule(relativelayout.align_parent_bottom, relativelayout.true);         imageviewparams.addrule(relativelayout.center_horizontal, relativelayout.true);         imageviewparams.setmargins(0, margin, 0, 0);     }      relativelayout.addview(imageview, imageviewparams);      //initialize textview     textview textview = new textview(context);     int textviewid = 0x101;     textview.setid(textviewid);     textview.settext(text);     textview.settextcolor(context.getresources().getcolor(android.r.color.white));     relativelayout.layoutparams textviewparams = new relativelayout.layoutparams(relativelayout.layoutparams.wrap_content, relativelayout.layoutparams.wrap_content);     if(imagegravity == gravity.top) {         textviewparams.addrule(relativelayout.below, imageviewid);     } else if(imagegravity == gravity.bottom) {         textviewparams.addrule(relativelayout.above, imageviewid);     }      relativelayout.addview(textview, textviewparams);      //setup toast     toast toast = new toast(context);     toast.setview(relativelayout);     toast.show(); } 

i'm hoping here can spot wrong code, i've been unable find issue myself.


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -