我有這個ImageView我想裁剪佔用不超過1/3的屏幕尺寸。在需要的地方,我使用了layout_height =「0dp」和layout_weight,但是ImageView保持了更高的高度。如果我用LinearLayout替換ScrollView,所有東西都應該放在原處。我的猜測是這是因爲ScrollView具有無限高度......我如何仍然強制ScrollView尊重其父級的實際佈局高度並實現我想要的。將ImageView設置爲ScrollView中屏幕高度的一部分
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ImageView
android:id="@+id/imageview"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/image"
android:scaleType="centerCrop"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:orientation="vertical"
>
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:text="Text1"
/>
<TextView
android:id="@+id/textview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:singleLine="true"
android:ellipsize="end"
android:marqueeRepeatLimit="marquee_forever"
android:text="Text2"
/>
<TextView
android:id="@+id/textview3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:singleLine="true"
android:ellipsize="end"
android:marqueeRepeatLimit="marquee_forever"
android:text="Text3"
/>
<TextView
android:id="@+id/textview4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
android:singleLine="false"
android:text="Text4"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
下面是它的樣子: