-1

我正在使用 XML 和 JAVA 为 android 制作移动应用程序。

当有人按下“添加”按钮时,如何向此 XML 布局添加另一行(东西)。

例如,如果他们单击按钮添加此布局。 http://gyazo.com/fe44f0ddbad62d1664a6f3cd8b4a55b9

它将变成这样: http: //gyazo.com/9bc6b27aaf89226b0bcba8cb34c17f5f

所以重要的部分是添加按钮向下移动,我可以修改 XML 文件以显示新内容。

4

3 回答 3

0

您不能修改布局文件,在您分享的示例中,有几种方法可以做到。要么使用 aListView并添加一个新项目(使用适配器),要么您可以使用 aLinearLayout并膨胀视图并将其插入到LinearLayout. 这些更改在您的布局中不是永久性的。您需要将此数据存储在某处并重新创建布局。

看看如何使用适配器构建布局,例如如何向视图动态添加内容。

使用 aRelativeLayout将按钮放置在您的下方,ListView但是当列表增长到屏幕大小时,这可能会在列表滚动并占据整个屏幕之前出现问题,因此无法看到任何被推到屏幕之外的内容屏幕。因此,要解决此问题,您可以:

  • 将按钮添加到ListView页脚。这样,它将始终位于列表视图的底部,滚动到底部将显示该按钮。
  • 使用 aRelativeLayout将按钮绝对定位到屏幕底部,这样无论列表持续多长时间,它都会停留在那里,并且在添加新项目时单击,滚动ListView到底部。

我推荐第二种方法,因为从 UI 的角度来看它更好。另外,我建议使用ActionBar添加按钮,因为这更符合 android 用户的期望。

于 2013-08-15T00:53:21.003 回答
0

在 .xml 中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

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

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
</LinearLayout>

在.java中

    Button button1 = (Button)findViewById(R.id.button1);
    button2.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
            EditText editTextView = new EditText(MainActivity.this);
            LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
            editTextView.setLayoutParams(params);
            linearLayout.addView(editTextView);

        }});
于 2013-08-15T01:24:38.650 回答
0

您可以将视图添加到空的 LinearLayout

或者您可以设置edittext view.visible 或view.gone

或者你可以设置edittext启用false和背景透明,当你点击按钮,设置edittext启用ture,并设置背景

有很多方法可以做到这一点

于 2013-08-15T01:48:51.913 回答