基本上,我在线性布局之一中有 ImageView,当在每个布局上设置权重时,调整大小,布局中的 ImageView 也是如此。问题是 - 只有实际改变宽度的高度保持不变。
为什么会出现问题?我有 customView,我需要将它放在杯子上,因此它需要杯子的 x,y 坐标及其尺寸(宽度和高度)。现在我得到了不同屏幕尺寸的不同宽度。
布局代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="3"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/rlmainContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</LinearLayout>
</LinearLayout>
Archie.bpgc 解决方案(设置layout_height =“0dp”)没有帮助。再设置几张图像,它们的宽度都不成比例:
<?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="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/ivCup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cup1_r" />
</LinearLayout>
</LinearLayout>
最佳答案
在设置权重时使layout_height = 0dp
。这也是一种优化。
android:layout_height="0dp"
对于两个 LinearLayout。
而且您也不需要 RelativeLayout
,因为第一个 LinearLayout
中只有一个 ImageView
关于android - layout_weight 改变图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14806028/