java - how to dynamically change the position of buttons -


i have mainactivity empty action bar. clicking on "plus" in action bar,i open dialogfragment edittext , 2 buttons, "cancel" , "continue". can not post picture because not have enough reputation, when click on "continue" create 2 buttons; 1 positioned @ top right of layout of mainactivity , other, below previous one, on left. every time click on "continue", can create 2 buttons positioned according same pattern explained earlier.

this code i've written not work like.

mainactivity

public class mainactivity extends fragmentactivity implements iprojectdialfrag {      private projectdialogfragment projectdialfrag = new projectdialogfragment();      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         menuinflater inflater = getmenuinflater();             inflater.inflate(r.menu.main, menu);         return super.oncreateoptionsmenu(menu);     }      @override     public boolean onoptionsitemselected(menuitem item) {         int id = item.getitemid();         switch (id) {             case r.id.action_settings:                 //todo                 return true;             case r.id.filters:                 intent intent1 = new intent(mainactivity.this, filtersactivity.class);                 startactivity(intent1);                 return true;             case r.id.action_new:                 return true;             case r.id.add_button:                 intent intent2 = new intent(mainactivity.this, buttonsactivity.class);                 startactivity(intent2);                 return true;             case r.id.add_project:                 projectdialfrag.show(getfragmentmanager(), "projectdialog");                 return true;             default:                 return super.onoptionsitemselected(item);         }      }      @override     public void ondialognegativeclick(dialogfragment dialog) {         return;     }      @override     public void ondialogpositiveclick(dialogfragment dialog) {          edittext edittext = (edittext) dialog.getdialog().findviewbyid(r.id.project_name);         string projectname = edittext.gettext().tostring();          button projectbutton = new button(this);             projectbutton.settext(projectname);          imagebutton playbutton = new imagebutton(this);             playbutton.setimageresource(r.drawable.ic_action_play_over_video);          linearlayout linearlayout = (linearlayout) findviewbyid(r.id.button_row);             linearlayout.addview(projectbutton);             linearlayout.addview(playbutton);     }  } 

the interface

public interface iprojectdialfrag {      public void ondialogpositiveclick(dialogfragment dialog);     public void ondialognegativeclick(dialogfragment dialog);  } 

and dialogfragment

public class projectdialogfragment extends dialogfragment {      private iprojectdialfrag iprojdialfrag;      @suppresslint("inflateparams")     @override     public dialog oncreatedialog(bundle savedinstancestate) {          alertdialog.builder createprojectalert = new alertdialog.builder(getactivity());           createprojectalert.settitle("create project");           layoutinflater inflater = getactivity().getlayoutinflater();           createprojectalert.setview(inflater.inflate(r.layout.project_dialog_fragment, null))              .setpositivebutton(r.string.conti_nue, new dialoginterface.onclicklistener() {                  @override                 public void onclick(dialoginterface dialog, int id) {                     iprojdialfrag.ondialogpositiveclick(projectdialogfragment.this);                 }             })             .setnegativebutton(r.string.cancel, new dialoginterface.onclicklistener() {                  @override                 public void onclick(dialoginterface dialog, int id) {                     iprojdialfrag.ondialognegativeclick(projectdialogfragment.this);                  }             });           return createprojectalert.create();      }      @override     public void onattach(activity activity) {         super.onattach(activity);         iprojdialfrag = (iprojectdialfrag) activity;     }  } 

the layout of mainactivity

<relativelayout       xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"      android:id="@+id/main_layout"     android:layout_width="match_parent"     android:layout_height="match_parent"      android:orientation="horizontal" >       <linearlayout         android:id="@+id/button_row"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:orientation="vertical"         android:layout_alignparenttop="true"         android:layout_alignparentright="true"         android:layout_alignparentend="true" >     </linearlayout>   </relativelayout> 

if need screenshot, please give me point reputation , i'll place immediately. you

thank again. here screenshot:

enter image description here

this result i'd have:

enter image description here

for each button have able add more "play".

but see layout.

your linear layout "wrap_conent" on width. linear layout glued right side of parent. getting... linear layout content glued right side , taking exaclty size of it's content... button. getting told android get.

if want drawn, 1st linear layout button shoul match_parent in widht, , can set it's gravity left play buttons , right ciao , luca buttons...


Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

How do you convert a timestamp into a datetime in python with the correct timezone? -