gpt4 book ai didi

android - 缩放背景图像以包装布局内容

转载 作者:IT王子 更新时间:2023-10-29 00:06:01 24 4
gpt4 key购买 nike

我有一个包含一些文本字段的布局,并且有一个背景图像显示在我的 Activity 顶部。我希望背景图像可以缩放以包裹内容(不关心纵横比)。但是,图像大于内容,因此布局改为包裹背景图像。这是我的原始代码:

<RelativeLayout 
android:layout_width="fill_parent"
android:id="@+id/HeaderList"
android:layout_gravity="top"
android:layout_height="wrap_content"
android:background="@drawable/header">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/NameText"
android:text="Jhn Doe"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="4dp"
android:paddingTop="4dp"
/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:layout_alignParentLeft="true"
android:id="@+id/HoursText"
android:text="170 hours"
android:textSize="23sp"
android:layout_below="@+id/NameText"
android:paddingLeft="4dp"
/>
</RelativeLayout>

在搜索了一些其他问题后,我找到了这两个:

How to wrap content views rather than background drawable?

Scale a Drawable or background image?

基于此,我创建了一个带有显示背景的 ImageView 的 FrameLayout。不幸的是,我仍然无法让它工作。我希望背景图像的高度随着 TextView 的大小而缩小/扩展,但是使用 FrameLayout,ImageView 适合其父级的大小,我找不到使父级适合的方法 TextView 布局的大小。这是我更新的代码:

<FrameLayout 
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<ImageView android:src="@drawable/header"
android:layout_width="fill_parent"
android:scaleType="fitXY"
android:layout_height="fill_parent"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:id="@+id/HeaderList"
android:layout_gravity="top"
android:layout_height="wrap_content"
>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/NameText"
android:text="John Doe"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingLeft="4dp"
android:paddingTop="4dp"
/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:layout_alignParentLeft="true"
android:id="@+id/HoursText"
android:text="170 hours"
android:textSize="23sp"
android:layout_below="@+id/NameText"
android:paddingLeft="4dp"
/>
</RelativeLayout>
</FrameLayout>

对于如何最好地使图像缩放到某些布局内容的大小,是否有人有任何建议?我不关心图像的纵横比,因为这无关紧要,我只想让它填充背景。

谢谢!

最佳答案

我有同样的问题(我认为),我能找到的唯一解决方案是:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>

<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/some_image"
android:layout_alignTop="@+id/actual_content"
android:layout_alignBottom="@id/actual_content"
android:layout_alignLeft="@id/actual_content"
android:layout_alignRight="@id/actual_content"
/>

<LinearLayout
android:id="@id/actual_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>

<!-- more stuff ... -->

</LinearLayout>

</RelativeLayout>

关于android - 缩放背景图像以包装布局内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com