gpt4 book ai didi

android - ImageView 的最大尺寸

转载 作者:行者123 更新时间:2023-11-29 19:56:30 25 4
gpt4 key购买 nike

我有你在图片上看到的布局。每个 ImageView 的单元格设置为按宽度和高度调整大小。图像的比例类型是“fitXY”。目前,所有图像都会根据屏幕尺寸调整大小,并且通常会进行放大。

我想实现以下行为:设置 maxSize - 图像的最大宽度和高度。当单元格小于 maxSize 时,ImageView 的行为与“fitXY”一样,但如果单元格大于 maxSize,则图像不会进一步放大。我不想为不同的 DPI 使用图像,而是动态调整大图标的大小。

据我了解,不同的屏幕尺寸和分辨率应该有不同的 maxSize 值。

enter image description here

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:orientation="horizontal"
android:background="@drawable/app_bg"
android:weightSum="2"
android:padding="8dp">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/icon_www"
android:scaleType="fitXY"
android:padding="40dp"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/icon_fb"
android:layout_weight="1"
android:padding="40dp"
android:scaleType="fitXY"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/icon_twitter"
android:layout_weight="1"
android:scaleType="fitXY"
android:padding="40dp"/>

<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:src="@drawable/icon_youtube"
android:layout_weight="1"
android:scaleType="fitXY"
android:padding="40dp"/>


</LinearLayout>
</LinearLayout>

最佳答案

添加 android:adjustViewBounds="true" 并将 'android:scaleType="center"' 更改为 android:scaleType="fitCenter"

<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:src="@drawable/icon_www"
android:scaleType="fitCenter"
android:padding="40dp"
android:adjustViewBounds="true"/>

编辑您的 android:maxHeight 不起作用,因为通过将 layout_height 设为 0dp 并将 layout_weight 设为 1,您为 View 提供了特定的高度值. max_heightmax_width 仅在您没有 View 的特定高度和宽度值的情况下才有效。将 wrap_content 作为 layout_height 并移除 layout_weight。类似地,通过将​​ layout_width 指定为 match_parent,您可以为 View 的高度定义一个特定值。将 match_parent 替换为 wrap_content 即可。

关于android - ImageView 的最大尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36692551/

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