Reputation: 6960
I've following code, which add textCheckedView into relative layout:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
final RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1);
final RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_PARENT_TOP);
final Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
int ids=0;
public void onClick(View v) {
String test ="test";
ids++;
final AlarmCheckedTextView checkedTV = createButton(test,ids);
checkedTV.setVisibility(1);
p.addRule(RelativeLayout.BELOW,checkedTV.getId());
rlayout.addView(checkedTV,p);
}
});
}
private CustomCheckedTextView createButton(String text, int id)
{
final CustomCheckedTextView checkedTV = new CustomCheckedTextView(this,text);
checkedTV.setId(id);
return checkedTV;
}
}
But I've a problem with adding CustomCheckedTextView
into RelativeLayout
after clicking on Button
. I mean that everything is added successfully but all in one place. How can I add elements below than previous programmatically?
Upvotes: 0
Views: 453
Reputation: 1704
You can understand it like this:---
Suppose you want to create Two TextView & want to put below one textview to another:--
RelativeLayout relative = new RelativeLayout(this);
TextView proposalA = new TextView(this);
proposalA.setText("Proposal A:-");
proposalA.setTextColor(Color.BLACK);
proposalA.setId(R.id.propasal_a);//set id for this TextView you can put unique id for every content in your string folder otherwise you can set id like this: tv1.setId((int)System.currentTimeMillis());
proposalA.setTextSize(16);
proposalA.setTypeface(Typeface.DEFAULT_BOLD);
RelativeLayout.LayoutParams relative_params_a = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
relative_params_a.setMargins(20, 6, 0, 0);
proposalA.setLayoutParams(relative_params_a); relative .addView(proposalA); // add textview in your main relative layout Now you want to put (textview)proposalB below on textview(ProposalA) then:- for 2nd TextView under 1st TextView use addRule Like this:---
TextView proposalB = new TextView(this);
proposalB.setText("Proposal B:-");
proposalB.setTextColor(Color.BLACK);
proposalB.setId(R.id.propasal_b);
proposalB.setTextSize(16);
proposalB.setTypeface(Typeface.DEFAULT_BOLD);
RelativeLayout.LayoutParams relative_params_b = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
relative_params_b.addRule(RelativeLayout.BELOW,proposalA.getId());
relative_params.setMargins(20, 6, 0, 0);
proposalB.setLayoutParams(relative_params_b);
relative .addView(proposalB);
Upvotes: 1