Android 将视图与缩放图像视图对齐
我经常遇到这个问题,我不相信不创建自定义布局就无法解决这个问题:Android 将视图与缩放图像视图对齐,android,android-layout,imageview,alignment,adjustviewbounds,Android,Android Layout,Imageview,Alignment,Adjustviewbounds,我经常遇到这个问题,我不相信不创建自定义布局就无法解决这个问题: 如何将视图与已缩放以匹配其父边界但保持纵横比的ImageView对齐(缩放类型不是fitXY)。我的假设是,如果将adjustViewBounds设置为true,则视图边界将被调整以匹配图像的实际大小(“如果希望ImageView调整其边界以保持其可绘制的纵横比,请将其设置为true”)。但事实并非如此。如果图像必须放大或缩小以适应其边界,则不会产生任何影响 看看这个布局: <RelativeLayout xmlns:and
如何将视图与已缩放以匹配其父边界但保持纵横比的ImageView对齐(缩放类型不是fitXY)。我的假设是,如果将adjustViewBounds设置为true,则视图边界将被调整以匹配图像的实际大小(“如果希望ImageView调整其边界以保持其可绘制的纵横比,请将其设置为true”)。但事实并非如此。如果图像必须放大或缩小以适应其边界,则不会产生任何影响 看看这个布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/square" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/imageView1"
android:layout_alignTop="@+id/imageView1"
android:text="@string/hello_world" />
</RelativeLayout>
此布局如下所示:
正如您所看到的,边界没有得到调整,TextView与不正确的边界对齐。我创建了一个自定义布局来创建适当的边界,但可能我遗漏了一些东西,应该可以使用标准布局功能
编辑:澄清一下:我正在寻找一种将文本视图与实际图像对齐的方法。这就是给定示例中的红方块。如果在
图像视图上使用-android:scaleType=“centerCrop”
,会怎么样?
图像将被裁剪以覆盖整个布局,但纵横比将保持不变。如果在图像视图上使用-android:scaleType=“centerCrop”
,该怎么办?
图像将裁剪以覆盖整个布局,但纵横比将保持。好,所以已经三年了,您可能早就知道了。但当您指定adjustviewBounds=true时,您已经完成了一半。您只需更改ImageView布局的宽度和高度,即可同时包装内容
您的TextView正在按照您的要求与ImageView对齐。如果给ImageView设置背景色,您会看到它与TextView占据相同的区域。只是实际图像按照您的要求在视图中居中
根据需要,您可以继续使用scaleType=fitCenter或centerInside。无论是裁剪还是拉伸图像,您的文本视图都将保持对齐。好的,已经三年了,您可能早就知道了。但当您指定adjustviewBounds=true时,您已经完成了一半。您只需更改ImageView布局的宽度和高度,即可同时包装内容
您的TextView正在按照您的要求与ImageView对齐。如果给ImageView设置背景色,您会看到它与TextView占据相同的区域。只是实际图像按照您的要求在视图中居中
根据需要,您可以继续使用scaleType=fitCenter或centerInside。无论是裁剪还是拉伸图像,您的TextView都将保持对齐。当您尝试使用android:background=“@drawable/square”?如何将视图与ImageView对齐?那么您的实际意思是什么?您的TextView按照xml-alignRight和alirnTop中的规范正确对齐。您希望在何处以及如何对齐。我希望将textview与实际图像对齐。当您尝试使用android:background=“@drawable/square”?“如何将视图与ImageView对齐”时会发生什么情况?那么您的实际意思是什么?您的textview按照xml-alignRight和alirnTop中的规范正确对齐。要对齐的位置和方式。我要将文本视图与实际图像对齐。如果指定“中心裁剪”,则小于父容器的图像将不会放大。如果指定“中心裁剪”,则小于父容器的图像将不会放大。