Reputation: 1043
I want to insert views dynamically by using addView method, like this.
TextView view = new TextView(this);
view.setText("foo");
ViewGroup parentView = (ViewGroup) findViewById(R.id.main_layout);
parentView.addView(view);
How can I align bottom the inserted view?
Upvotes: 1
Views: 4857
Reputation: 6317
Below code will align textview with bottom
TextView view = new TextView(this);
view.setText("foo");
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, view.getId());
view.setLayoutParams(params);
ViewGroup parentView = (ViewGroup) findViewById(R.id.viewgroup);
parentView.addView(view);
Upvotes: 1
Reputation: 7888
Try this you will get the result:
RelativeLayout parent = (RelativeLayout) findViewById(R.id.llayout);
TextView textView = new TextView(this);
textView.setText("foo");
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, textView.getId());
textView.setLayoutParams(params);
parent.addView(textView);
Upvotes: 4
Reputation: 4354
May be you could try to use a RelativeLayout
instead of a ViewGroup
, like this:
RelativeLayout parent = (RelativeLayout) findViewById(R.id.layout_parent);
TextView tv = new TextView(this);
tv.setText("foo");
RelativeLayout.LayoutParams lp= new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, tv.getId());
tv.setLayoutParams(lp);
parent.addView(tv);
Upvotes: 1