将位图设置为背景并裁剪它
Set a bitmap as background and crop it
我正在尝试将位图图像设置为 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 大于我想。
将 FrameLayout 的高度设置为,可能是 40dp。由于您已将 FrameLayout 的高度设置为 wrap_content,因此 XML 也会考虑图像的高度。
您试过将图片设置为game_list_header_cnt
的背景吗?
如果这没有帮助,您可以简单地使用 ConstraintLayout
并制作 imageView
top_top
顶部 textView
和 bot_bot
机器人 textView
TextView
的layout_height
设置为wrap_content
,所以TextView
的实际高度由TextView
的textsize决定。
可以设置layout_height
of FrameLayout
一个数字,比如80dp,设置layout_height
of LinearLayout
为match_parent
。
我正在尝试将位图图像设置为 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 大于我想。
将 FrameLayout 的高度设置为,可能是 40dp。由于您已将 FrameLayout 的高度设置为 wrap_content,因此 XML 也会考虑图像的高度。
您试过将图片设置为game_list_header_cnt
的背景吗?
如果这没有帮助,您可以简单地使用 ConstraintLayout
并制作 imageView
top_top
顶部 textView
和 bot_bot
机器人 textView
TextView
的layout_height
设置为wrap_content
,所以TextView
的实际高度由TextView
的textsize决定。
可以设置layout_height
of FrameLayout
一个数字,比如80dp,设置layout_height
of LinearLayout
为match_parent
。