如何按每次按钮使视图可见

时间:2016-11-06 05:40:53

标签: android android-layout

我正在开发一个可以进行一些计算的应用程序。它由一个水平linearLayout组成,每个布局都有2个编辑文本和一个微调器。我想以这样的方式制作它,即当用户需要添加更多细节时,用户可以通过按钮点击添加布局。

在我的XML中,我设置了android:visibility="gone",在Java中,我设置了onClick方法,以使"去掉#34;线性布局到view.VISIBLE。它工作但只要我点击+按钮就会显示所有线性布局。我希望它们一个接一个出现(一个出现,另一个出现"消失了#34;直到我再次点击按钮)

2 个答案:

答案 0 :(得分:0)

在这种情况下使用片段。您可以添加任何片段以通过事件进行查看。

答案 1 :(得分:0)

您可以使用Layout inflater。

创建另一个资源文件,在其中添加您需要的布局和小部件 例如item_resource.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" />

   <Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     />

  <!-- other layout elements which are required -->

</LinearLayout>

然后在onClick事件上以实际方式夸大布局

  LayoutInflater inflater = (LayoutInflater)context.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
  View view = inflater .inflate(R.layout.item_resource,null);
  Button button =(Button)view.findViewById(R.id.btn);
  button.setText("  ");   // set value

将此视图添加到主布局 e.g

 LinearLayout myLayout=(LinearLayout)findViewById(R.id.xx);
 mylayout.add(view);