将位图设置为背景并裁剪它

问题描述 投票:1回答:3

我正在尝试将位图图像设置为FrameLayout的背景。

<FrameLayout
    android:id="@+id/game_list_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/background"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"/>

    <LinearLayout
        android:id="@+id/game_list_header_cnt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="vertical">

        <TextView
            android:id="@+id/game_list_header_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <TextView
            android:id="@+id/game_list_header_sub_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />

    </LinearLayout>
</FrameLayout>

这个问题是我想要设置为背景的图像的高度大于两个TextView的高度,因此game_list_header的高度不适合TextView的高度,而是ImageView高度。

我尝试了不同的方法,例如将位图用作带有gravity=clip_vertical|fill_horizontal的DrawableBitmap,但即使这样,图像的高度也不适合TextView的高度,导致FrameLayout比我想要的要大。

android android-layout imageview android-imageview crop
3个回答
1
投票

你试图将图像设置为game_list_header_cnt的背景吗?

如果这没有帮助,你可以简单地使用ConstraintLayoutimageView top_top的顶级textViewbot_bot的机器人textView


1
投票

将FrameLayout的高度设置为,可能是40dp。由于您已将FrameLayout的高度设置为wrap_content,因此XML也会考虑图像的高度。


1
投票

layout_heightTextView设置为wrap_content,因此TextView的实际高度由TextView的文本化决定。

你可以设置layout_heightFrameLayout数字,例如80dp,并将layout_heightLinearLayout设置为match_parent

© www.soinside.com 2019 - 2024. All rights reserved.