LinearLayout中ImageView的高度

Height of ImageView in LinearLayout

具有高度为 100dp 的 LinearLayout。需要动态添加 5 个 ImageView,并且它们需要保持在 1 行并且具有相同的高度。

当我在显示尺寸 => 4.5' 上执行此操作时 - 一切正常。但是当我使用 4' 或 480 分辨率的 AVD 时,最后一项变小了。

请帮我找到解决方案,对不起我的英语!

这里是添加图片视图最简单的代码:

ImageView image = new ImageView(getApplicationContext());
            image.setImageResource(imageArray[position]);
            image.setTag(imageNames[position]);
linearLayout.addView(image);

这是容器

<LinearLayout
    android:id="@+id/ll"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:gravity="center_horizontal"/>

您必须在 LinearLayout[=13 中使用 android:weightSum 属性=] 在每个 ImageView 中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="horizontal"
    android:weightSum="1">

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2" />

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2" />

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2" />

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2" />

    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2" />
</LinearLayout>

注意:此类代码可能会缩小小屏幕尺寸的图像。所以你可以使用 LinearLayoutHorizontalScroolView 而不是

您的图片浏览量未设置宽度和高度。因此,将取决于屏幕和图像分辨率。

代码:

ImageView image = new ImageView(getApplicationContext());
image.setImageResource(imageArray[position]);
image.setTag(imageNames[position]);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(layoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT, 1.0f);
image.setLayoutParams(layoutParams);
linearLayout.addView(image);