以编程方式将图像添加到linearlayout

时间:2015-02-01 11:56:10

标签: android imageview scrollview android-linearlayout programmatically-created

我有一个HorizontalScrollView,其中包含LinearLayout,我希望以编程方式将多个图像添加到布局中,所有图像都处于相同高度(约300dp)并包装内容。像它们按比例安装在滚动区域的东西。 我的问题是当加载视图时,滚动区域中只有一个图像,其他图像通过滚动变为可见。 想像4个图像,只有一个可见,周围有空白区域(第一个),但其他3个正确地相互添加。 这是我的代码

            <HorizontalScrollView
                android:id="@+id/gallery_scroll"
                android:layout_width="fill_parent"
                android:layout_height="300dp" >

                <LinearLayout
                    android:id="@+id/gallery_layout"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:orientation="horizontal" >

                </LinearLayout>
            </HorizontalScrollView>

和添加功能:

for (final GalleryItem item : items) {
    ImageView iv = new ImageView(context);
    LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT
                                            , LayoutParams.MATCH_PARENT);

     param.setMargins(0, 0, 10, 0);
     iv.setLayoutParams(param);
     iv.setImageBitmap(item);
     layout.add(iv);
}

结果: enter image description here

1 个答案:

答案 0 :(得分:1)

使用此:

RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

尝试设置:

iv.setAdjustViewBounds(true);