2

嗨,我正在尝试动态制作布局,它应该是可滚动的,因为我不知道我应该绘制多少个文本字段和编辑文本字段。图片如下所示。在此处输入图像描述

            LinearLayout layout=new LinearLayout(this);
            layout.setOrientation(LinearLayout.VERTICAL);
            layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,      LayoutParams.WRAP_CONTENT)); 
            setContentView(layout);
4

4 回答 4

4
ScrollView scrollView = new ScrollView(this);
LinearLayout linear = new LinearLayout(this);


EditText ed1 = new EditText(this);
EditText ed2 = new EditText(this);

linear.add(ed1);  <-- Add all views to Relative layout dynamically 
linear.add(ed2);  <-- Add all views to Relative layout dynamically 

scrollView.addView(linear); <-- Then add only LinearLayoutto ScrollView 

ScrollView 直接只能有一个孩子。

setContentView(scrollView);
于 2012-07-13T11:50:55.103 回答
2

将您的父布局(LinearLayout 或 RelativeLayout)包含在ScrollView. 这就是你需要解决的所有问题。

ScrollView scroll = new ScrollView(this);
scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
      LayoutParams.FILL_PARENT));

LinearLayout layout=new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
      LayoutParams.WRAP_CONTENT)); 

scroll.addView(layout,
      new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

setContentView(scroll);
于 2012-07-13T11:40:17.943 回答
1

有一个布局可以做到这一点。使用ScrollView

编辑:

你可以这样做:

LinearLayout layout=new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,      LayoutParams.WRAP_CONTENT)); 
ScrollView scrollLayout = new ScrollView(this);
scrollLayout.addView(layout);
setContentView(scrollLayout);

而只是所有的控制layout

于 2012-07-13T11:38:12.753 回答
1

对于 java 文件,您可以先创建如下所示的 xml 文件,然后在内容视图中进行设置

然后

LinearLayout layout=new LinearLayout(this);

而不是这条线

RelativeLayout linearMain = (LinearLayout) findViewById(R.id.RelativeLayout02);

而不是在这个里面添加你的观点

linearMain.addView(button);

像上面的行添加您的意见。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

      <RelativeLayout
        android:id="@+id/RelativeLayout02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" >

                    ..............
                    your views

      </RelativeLayout>
  </ScrollView>
于 2012-07-13T11:40:39.057 回答