将位图设置为背景并裁剪它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将位图设置为背景并裁剪它相关的知识,希望对你有一定的参考价值。
我正在尝试将位图图像设置为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比我想要的要大。
答案
你试图将图像设置为game_list_header_cnt
的背景吗?
如果这没有帮助,你可以简单地使用ConstraintLayout
和imageView
top_top
的顶级textView
和bot_bot
的机器人textView
另一答案
将FrameLayout的高度设置为,可能是40dp。由于您已将FrameLayout的高度设置为wrap_content,因此XML也会考虑图像的高度。
另一答案
layout_height
的TextView
设置为wrap_content
,因此TextView
的实际高度由TextView
的文本化决定。
你可以设置layout_height
的FrameLayout
数字,例如80dp,并将layout_height
的LinearLayout
设置为match_parent
。
以上是关于将位图设置为背景并裁剪它的主要内容,如果未能解决你的问题,请参考以下文章
Android:从位图裁剪位图并设置为 ImageView src