- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我试图将 EditText
与左侧的 ImageView
放在单行中。但是我无法正确缩放图像以匹配文本输入的高度。
布局很简单:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:background="#f00"
android:src="@drawable/icon" />
<EditText
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
(我用红色突出显示图像背景以查看ImageView分配的实际空间)
如果我为 ImageView
指定确切的高度:
android:layout_height="48dp"
然后我得到了我需要的最接近的 View :
但是我不知道EditText
的确切高度,所以我不能在这里为ImageView
指定它。
当指定 ImageView
的高度以填充其父级(以匹配 ``EditText` 高度)时:
android:layout_height="fill_parent"
然后我在图像和文本输入之间得到意想不到的额外边距:
实际上,在这种情况下,ImageView
宽度等于未缩放的图像宽度,而图像已缩放。
如果我将layout_height
指定为48dp
并将adjustViewBounds
设置为false
,则类似于下图:
android:layout_height="48dp"
android:adjustViewBounds="false"
因此,这里的问题是:如何正确定义布局以缩放图像以匹配编辑条目高度,同时将 ImageView
的宽度缩小为缩放后的图像宽度?换句话说,如何摆脱这个额外的空间?
最佳答案
这是一个线性布局错误。如果您查看源代码中的 forceUniformHeight
here .您可以看到,当 LinearLayout 设置为 wrap_content
时,要处理提供 match_parent
作为高度的 subview ,LinearLayout 假装具有绝对高度,重新计算子高度然后重新使用前一个测量过程中的子宽度。基本上你的图像正在计算不受约束的高度和宽度并获得默认宽度和高度,然后重新计算高度但被迫使用旧宽度。您将需要提供高度或覆盖一些 View onMeasures
关于android - ImageView:adjustViewBounds 不适用于 layout_height ="fill_parent"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5403970/
当我在我的 imageView xml 中使用 android:adjustViewBounds="true"时,它不起作用。如果我把 setAdjustViewBounds(true);在我的 Im
我有一个 ImageView 并将其 layout_height 设置为“100dp”,并将其 layout_width 设置为“wrap_content”。 使用的 drawable 具有更大的实际
我已经看过这个帖子了:ImageView adjustViewBounds not working但它不适用于我的情况。 本质上,adjustViewBounds 不起作用。让我们假设以下情况: sq
我试图在保持宽高比的同时使用与父宽度匹配的 ImageView。 1个项目的结果符合预期。但在其他情况下,相同的代码会给出不同的结果。 仅供引用,布局来自两个不同的项目,而不是同一个项目。有人可以帮助
我使用下面的代码来显示我的按钮 (因为我需要在按钮上添加文字,所以我不会使用ImageButton) 但是ImageView在View中会有一些空白区域 我认为“fitXY”会填充 Vi
我正在尝试使图像占据容器宽度并根据图像比例具有高度。在 XML 中,我会使用 adjustViewBounds在 ImageView . Compose 中有类似物吗?如果没有,我怎样才能做到这一点?
我需要一个图像底部的按钮,参数为 android:adjustViewBounds="true"。 这就是我要找的: 但这就是我得到的: 这是我正在使用的代码: 最佳答案 如果
我试图将 EditText 与左侧的 ImageView 放在单行中。但是我无法正确缩放图像以匹配文本输入的高度。 布局很简单: (我用红色突出
我想以编程方式将我的 ImageView 的 adjustViewBounds 属性设置为 true,而不是在 XML 中。如何做到这一点? 最佳答案 调用ImageView#setAdjustVie
我正在尝试创建这个: 并且可以用这个 LinearLayout 做到这一点: 效果很好。现在,我正在尝试对 ConstraintLayout 做同样的事情:
在我的实现中,adjustViewBounds=true 在 android 5.1 中完全符合预期但在 4.1 中不做同样的事情 4.1 on left, 5.1 on right adjustVi
我是一名优秀的程序员,十分优秀!