4.1滚动布局

ScrollView滚动布局使用原理:

          ①滚动产生的条件是,里面的内容大于物理尺寸

          ②ScrollView里面只有一个子元素,这个子元素就是一个线性布局LinearLayout,我们可以在线性布局中添加我们需要的内容,所以ScrollView中得包裹一层,并且线性布局中设计的方向必须纵向;再加任何其他的标签都是错误的,如果加标签,应该在LinearLayout里加

          ③不要把ScrollView和ListView放在一起用

界面:

方法一(布局资源文件):

布局:

 <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentStart="true"
        android:fillViewport="false">

        <LinearLayout
            android:id="@+id/linearlayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:src="@drawable/mu" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:src="@drawable/mu" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:src="@drawable/mu" />

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:src="@drawable/mu" />

            <ImageView
                android:id="@+id/imageView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:src="@drawable/mu" />
        </LinearLayout>
    </ScrollView>
manusas

方法二(动态生成):

布局资源:只需要一个scrollview和一个linearlayout(指定id)

程序:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        linearLayout = (LinearLayout) this.findViewById(R.id.linearlayout);
        for (int i = 0; i < 7; i++) {
            ImageView imageView = new ImageView(this);
            Drawable drawable = getResources().getDrawable(R.drawable.mu);
            imageView.setImageDrawable(drawable);
            linearLayout.addView(imageView, i);
        }
    }
manusas
原文地址:https://www.cnblogs.com/manusas/p/5653092.html