我现在已经整整一天了。我想在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>
答案 0 :(得分:1)
我将您的代码粘贴到Android Studio
的布局文件中,似乎weight
和scaleType
属性搞乱了您的观点。这就是我宣布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"
/>