LinearLayout中ImageView的高度

时间:2015-08-10 09:22:35

标签: java android imageview android-linearlayout

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

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

请帮我找到解决方案并抱歉我的英文!

这里添加imageview的最简单的代码:

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"/>

2 个答案:

答案 0 :(得分:1)

您必须在每个ImageView中的 android:weightSum LinearLayout 中使用 android:weight 属性。

<?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>

注意:此类型的代码可能会缩小小屏幕尺寸的图像。因此,您可以将 LinearLayout HorizontalScroolView 一起使用

答案 1 :(得分:1)

未设置图像视图宽度和高度。因此,将取决于屏幕和图像分辨率。

<强>代码:

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);