列出两列android的图像

时间:2012-02-08 16:14:27

标签: android android-layout android-ui

任何人都可以帮我创建一个如下图所示的Android布局。 它有两列来存储图像。 每张图片都有相同的宽度。

非常感谢,

Screen

4 个答案:

答案 0 :(得分:3)

最简单的方法是并排放置两个列表视图,并连接它们的onScroll()方法,以便在滚动它们时相互滚动。 (不要忘记使用以编程方式滚动的标志,否则您将获得StackOverflowError(有点讽刺,是的:)由于无限递归)。您可以通过滚动图像高度的一半来移动其中一个。

虽然这是一种欺骗。更好的方法是创建一个派生自RelativeLayout的自定义布局,该布局可以存储添加到其中的最后和第二个视图的ID。当添加下一个时,将其布局为layout_below =“@ id / second_to_last”,然后新添加的视图变为最后一个,前一个最后一个 - 秒到最后一个,下次您将在其下添加视图。 (是的,我知道,不完全是你所谓的清晰描述:)但随时可以提出进一步的问题)

答案 1 :(得分:1)

快速提示 - 请记住在xml-layout文件中添加“android:adjustViewBounds =”true“”。如果没有这个,图像在顶部和底部都有很大的余量。

请小心,也许你有这个问题。 还记得在Android中扩展功能

答案 2 :(得分:1)

像图片库加载器一样:https://github.com/etsy/AndroidStaggeredGrid

答案 3 :(得分:0)

您可以创建一个包含两列的ScrollView(每列一个垂直LinearLayout)。要填充它,您只需为每个图像创建一个ImageView对象,并通过调用linearLayout1.addView(myImageView)将其添加到列表中。请注意,如果添加大量图像,可能会遇到内存问题......

您的布局文件如下所示:

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

         <!-- Left column -->
         <LinearLayout
             android:id="@+id/linearLayout1"
            android:layout_width="160dp"
            android:layout_height="fill_parent"
            android:orientation="verical" />

         <!-- Right column -->
         <LinearLayout
             android:id="@+id/linearLayout2"
            android:layout_width="160dp"
            android:layout_height="fill_parent"
            android:orientation="verical" />
    </LinearLayout>
</ScrollView>