根据高度调整ImageView宽度
我正在尝试使ImageView和TextView组成一个简单的LinearLayout。根据高度调整ImageView宽度
ImageView应该缩放以匹配LinearLayout高度,并且不会因此丢失比例。
这是我目前拥有的xml。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:background="#CCCCCC"
android:scaleType="fitCenter"
android:src="@drawable/strip" />
<TextView
android:id="@+id/logoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true"
android:text="what an awesome text"
android:textSize="18sp" />
</LinearLayout>
使用上面的XML,该结果是ImageView的高度确实会匹配的LinearLayout高度和它的宽度将是一样的SRC图像,但呈现的图像将正确和中心的规模,但这个离开ImageView本身占据了布局宽度的90%,因为它是src图像的宽度,所以TextView没有空间。
我只是想缩放ImageView以匹配父母的身高,它的宽度应该与按比例缩放它一样多。
在图像视图中添加线性布局。只是图像视图,没有别的。 :)希望它可以帮助
编辑1:正如许多其他的答案中提到使用layout_weight
属性也将有助于解决这个问题。
正如@KISHORE_ZE所说,这解决了这个问题。
“把摄像画面中的线性布局,只是摄像画面。没有别的。”
您能否将我的标记标记为正确?选中标记。谢谢? –
你能解释它到底如何解决这个问题吗?如果您需要其他图像以相同的布局显示,而图像的尺寸是其两倍,那该怎么办?三倍大?它会如何表现?我没有检查这个解决方案,但我有强烈的感觉,它只能解决这个具有一定大小的特定图像的问题,甚至更重要的是,在一定的屏幕密度上。尝试设置一些更大的图像到你的ImageView,看看它的行为如何。 –
在imageview的增加重量1,因此将有TextView的
空间正如我在评论中提及在您引用KISHORE_ZE的回复帖子下,它似乎只对特定尺寸的图像以及特定的屏幕密度和分辨率有帮助。所以虽然它在目前的设备上看起来是可以接受的,但它可能是一个混乱的另一个。我建议你找出你想要用于图像的布局的哪一部分,并使用ImageView
和TextView
的android:weight
属性来达到想要的效果。
当然没问题。但我认为把它放在一个线性布局将起作用。我知道它与列表视图一起工作。所以我有一种感觉,它会适用于所有图像。不过,正如我所说,我没有测试过它。 –
尝试将scaleType更改为cropCenter –
centerCrop将匹配父级的高度,宽度问题仍然存在,图像从中间裁剪以适合视图。我需要适应视图,而不是裁剪图像。 – HelderMPinhal
将图像视图置于线性布局中。只是图像视图。没有其他的。 –