我想创建一个这样的页面。这7个按钮已经存在,但如果用户想要添加更多类别(按钮),那么他可以使用 + 按钮并使用 - 按钮删除。 有任何想法或教程吗?
答案 0 :(得分:23)
创建/删除onClick
和+ button
按钮- button
,如下所示:
public void onClick(View v) {
switch(v.getId()){
case (R.id.plusbutton):
Button myButton = new Button(this);
myButton.setText("Add Me");
LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
ll.addView(myButton, lp);
break;.
case (R.id.minusbutton):
Button myButton = new Button(this);
myButton.setText("Remove Me");
LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
ll.removeView(myButton, lp);
break;
}
}
答案 1 :(得分:10)
这是在android中动态创建按钮
LinearLayout row2 = (LinearLayout) findViewById(R.id.hll2);
Button ivBowl = new Button(this);
ivBowl.setText("hi");
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(70, 70);
layoutParams.setMargins(5, 3, 0, 0); // left, top, right, bottom
ivBowl.setLayoutParams(layoutParams);
row2.addView(ivBowl);
答案 2 :(得分:4)
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.yourlayoutidthatisonethepicture);
Button addButton =new Button(this);
addButton.setText("add");
mainLayout.addView(addButton);
删除是一样的只是更改此" mainLayout.addView(addButton)
"删除按钮的View或setVisibility到View.GONE
答案 3 :(得分:3)
这很简单。
Button button1=new Button(context);
button1.setText("test");
button1.setId(id);
containerlayout.add(button1);
希望这会对你有所帮助。
答案 4 :(得分:0)
如果您想创建动态视图(如EditText,textview等),只需使用此代码并在您的应用程序中运行它。
MyActivity.java:你的java文件
LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayout1);
EditText et = new EditText(v.getContext());
et.setText("My new Edit Text);
et.setMinLines(1);
et.setMaxLines(3);
ll.addView(et);
在XML文件中:
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/TextView01"
android:layout_below="@+id/relativeLayout1"
android:orientation="vertical" >