如何创建一个可滚动布局(how to create a scrollable layout)

2019-09-28 13:31发布

你好我试图做一个布局动态,它应该是滚动的,因为我不知道我应该有多少个文本字段和编辑文本字段绘制。 画面显示如下。

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

Answer 1:

附上一个您的父母布局(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);


Answer 2:

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 

滚动型可以直接只生一个孩子。

setContentView(scrollView);


Answer 3:

对于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>


Answer 4:

还有就是做这个的布局。 使用滚动型 。

编辑:

你可以这样做:

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



文章来源: how to create a scrollable layout