LinearLayout中的ImageView

时间:2017-01-21 18:36:47

标签: android android-layout imageview android-linearlayout

这个布局有两个问题:

<?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="130dp"
    android:orientation="horizontal"
    android:background="@null">
        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:src="@drawable/image1"
            android:id="@+id/image1"
            android:scaleType="centerCrop"
            android:background="@drawable/card_background"
            android:layout_weight=".5"
            />
        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:src="@drawable/image2"
            android:id="@+id/image2"
            android:scaleType="centerCrop"
            android:background="@drawable/card_background"
            android:layout_weight=".5"
            />
</LinearLayout>

当我在ImageViews中放入不同的图像时,发生了这种情况:

  • ImageViews的高度大于130dp但我将高度设置为(match_parent),父高度为130dp。
  • ImageViews的宽度不一样,但两个ImageViews的重量都相同,但较大的一个比另一个更宽。

2 个答案:

答案 0 :(得分:0)

此代码有效,为什么? 我真的不知道。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="130dp"
    android:background="@null"
    >
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight=".5"
            >
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="130dp"
                android:id="@+id/image2"
                android:scaleType="centerCrop"
                android:src="@drawable/offer_mix_small_1"
                />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight=".5"
            android:background="@color/secondary_text_color"
            >
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="130dp"
                android:id="@+id/image1"
                android:scaleType="centerCrop"
                android:src="@drawable/offer_land"
                />
        </RelativeLayout>
    </LinearLayout>

答案 1 :(得分:0)

您忘记在根布局中添加权重,因此请在根布局中添加此行。

android:weightSum="1"

就像添加重量之后一样

  <?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="130dp"
    android:weightSum="1"
    android:orientation="horizontal"
    android:background="@null">
        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:src="@drawable/image1"
            android:id="@+id/image1"
            android:scaleType="centerCrop"
            android:background="@drawable/card_background"
            android:layout_weight=".5"
            />
        <ImageView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:src="@drawable/image2"
            android:id="@+id/image2"
            android:scaleType="centerCrop"
            android:background="@drawable/card_background"
            android:layout_weight=".5"
            />
</LinearLayout>