如何在线性布局中显示多个图像?

时间:2017-05-07 13:12:29

标签: android xml android-layout

我正在开发一个Android视频应用程序,我将列出每个视频的截图,每个视频至少10个。我使用的是嵌套内部的线性布局,以显示这些图像,但只有当我放置3个图像时才有效但如果我放了超过3个imageview,那么它根本不起作用,应用程序没有响应。这是我的screenshot.xml文件的xml布局..

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1b" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1c" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1j" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1f" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1g" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1h" />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="180dp"
                android:scaleType="centerCrop"
                android:src="@drawable/alaep1m" />
        </LinearLayout>

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

你一定要考虑在这里使用RecyclerView。 由于内存问题,您的应用无法响应。

检查示例:Recycler View

答案 1 :(得分:0)

有很多方法可以显示图像。但为了你的简单。

这是代码。但我强烈推荐使用GridView或 ListView或RecyclerView。

这不是他们。但是,你仍然可以在你的活动中展示它。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.xxx.yyy.MainActivity">

      <TableLayout
           android:layout_width="match_parent"
           android:layout_margin="10dp"
           android:id="@+id/tableLayout"
           android:layout_height="380dp"
           android:layout_weight="1"
           android:weightSum="2">

           <TableRow
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1">

               <ImageView
                   android:layout_width="0dp"
                   android:layout_height="match_parent"
                   android:layout_weight="1"
                   android:id="@+id/imageOne"
                   android:scaleType="matrix"
                   android:layout_margin="5dp"
                   android:background="@drawable/view_background"/>

               <ImageView
                   android:layout_weight="1"
                   android:layout_margin="5dp"
                   android:id="@+id/imageTwo"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"
                   android:layout_width="0dp"
                   android:layout_height="match_parent"/>

           </TableRow>

           <TableRow
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1">

               <ImageView
                   android:layout_width="0dp"
                   android:layout_height="match_parent"
                   android:layout_weight="1"
                   android:id="@+id/imageThree"
                   android:layout_margin="5dp"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"/>

               <ImageView
                   android:layout_weight="1"
                   android:layout_margin="5dp"
                   android:id="@+id/imageFour"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"
                   android:layout_width="0dp"
                   android:layout_height="match_parent"/>

           </TableRow>
           <TableRow
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1">

               <ImageView
                   android:layout_width="0dp"
                   android:layout_height="match_parent"
                   android:layout_weight="1"
                   android:id="@+id/imageFive"
                   android:layout_margin="5dp"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"/>

               <ImageView
                   android:layout_weight="1"
                   android:layout_margin="5dp"
                   android:id="@+id/imageSix"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"
                   android:layout_width="0dp"
                   android:layout_height="match_parent"/>

           </TableRow>
           <TableRow
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1">

               <ImageView
                   android:layout_width="0dp"
                   android:layout_height="match_parent"
                   android:layout_weight="1"
                   android:id="@+id/imageSeven"
                   android:layout_margin="5dp"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"/>

               <ImageView
                   android:layout_weight="1"
                   android:layout_margin="5dp"
                   android:id="@+id/imageEight"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"
                   android:layout_width="0dp"
                   android:layout_height="match_parent"/>

           </TableRow>
           <TableRow
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_weight="1">

               <ImageView
                   android:layout_width="0dp"
                   android:layout_height="match_parent"
                   android:layout_weight="1"
                   android:id="@+id/imageNine"
                   android:layout_margin="5dp"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"/>

               <ImageView
                   android:layout_weight="1"
                   android:layout_margin="5dp"
                   android:id="@+id/imageTen"
                   android:scaleType="matrix"
                   android:background="@drawable/view_background"
                   android:layout_width="0dp"
                   android:layout_height="match_parent"/>

           </TableRow>

           </TableLayout>

</android.support.v4.widget.NestedScrollView>

是的,正如我之前告诉过你的那样,仍然有很多方法可以解决你的问题。