15

链接

我想创建一个这样的页面。这 7 个按钮已经存在,但如果用户想要添加更多类别(按钮),那么他可以使用+按钮并使用-按钮删除。制作这个的任何想法或教程?

4

5 回答 5

25

创建/删除按钮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;
           }
         }
于 2013-02-26T06:08:06.873 回答
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);
于 2013-02-26T06:05:09.043 回答
4
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.yourlayoutidthatisonethepicture);

Button addButton =new Button(this);
addButton.setText("add");

mainLayout.addView(addButton);

删除是一样的,只需将这个“ mainLayout.addView(addButton)”更改为 removeView 或按钮的 setVisibility 为 View.GONE

于 2013-02-26T09:44:03.670 回答
3

这很简单。

    Button button1=new Button(context);
    button1.setText("test");
    button1.setId(id);
containerlayout.add(button1);

希望这对您有所帮助。

于 2013-02-26T06:07:18.263 回答
1

如果您想创建动态视图(如 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" >

于 2014-06-04T15:38:18.490 回答