gpt4 book ai didi

android - 带有自定义可绘制缩放比例的内容插入

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:17 26 4
gpt4 key购买 nike

我有一个 ListView,其中包含在 relativeLayout 中定义的自定义项目,其中包括一个带有 android:layout_width="match_parent"android:layout_height="wrap_content" 的 imageView 和作为源的自定义矢量可绘制对象,其示 Intent 如下所示:

+-------------------------------------------+
+ solid area | some picture +
+-------------------------------------------+

问题是当我转向横向模式时,图像会按比例放大(以匹配父级的宽度),但是保持纵横比也会增加高度。

理想情况下,我想定义一个 Content Inset(正如我从 iOS 中了解到的那样),以便拉伸(stretch)上面的实心区域以匹配新宽度,并且“某些图片”区域保持相同的纵横比.总而言之,我会进行缩放,以使图像(以及整个 listView 项目)的高度保持不变。

最佳答案

您可以使用 LinearLayout 和子宽度中的布局 weight 来拉伸(stretch)实心区域。为使其正常工作,您应该为 ImageView 分配固定宽度。

此外,ImageView 上的 adjustViewBounds 属性将有助于保持正确的纵横比。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal">

<!-- this can be any view or view group, the layout params are the important part-->
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
...
/>

<!-- set this to an absolute width that will be the same for portrait & landscape -->
<ImageView
android:layout_width="240dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
...
/>

</LinearLayout>

关于android - 带有自定义可绘制缩放比例的内容插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415451/

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