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:
this result i'd have:
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
Post a Comment