LinearLayout中的ImageViews - 搞乱了规模

时间:2016-09-30 16:13:59

标签: android android-layout android-studio

我现在已经整整一天了。我想在LinearLayout中使用3个图像视图。如您所见,比例根本不正确。我的所有图标都有24x24像素的大小。我正在尝试使用我的ImageViews中的不同属性。

这是我的XML代码:

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="45dp"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/tList"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:scaleType="fitXY"
                android:background="@drawable/ic_home_black_24px" />

            <ImageView
                android:id="@+id/ist"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:scaleType="fitXY"
                android:background="@drawable/ic_help_black_24px"
               />

            <ImageView
                android:id="@+id/ations"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:scaleType="fitXY"
                android:background="@drawable/ic_settings_black_24px"
                />
</LinearLayout>

prev

2 个答案:

答案 0 :(得分:1)

我将您的代码粘贴到Android Studio的布局文件中,似乎weightscaleType属性搞乱了您的观点。这就是我宣布24乘24 ImageView

的方式
<ImageView
    android:id="@+id/ations"
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:background="@drawable/your_drawable"
    />

您可以查看有关weight here的完整文档,但基本上说的是,如果您将weight放在LinearLayout下的多个属性上,则会添加屏幕确实增长的优先级。由于3 ImageViews有1作为weight,因此它们会以相同的优先级增长,并且因为fill_parent也被调用,所以它们将强制适合父布局参数,看起来很奇怪

答案 1 :(得分:0)

将所有ImageView的宽度更改为“0dp”,并将背景替换为src,如下所示:

  <ImageView
            android:id="@+id/ations"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:src="@drawable/ic_settings_black_24px"
            />