Android图像缩放和对齐
我试图显示一个缩放的图像,同时保留其纵横比,但同时将其与底部对齐 使用android:scaleType=“FitXY”会使图像垂直和水平居中,因此不会与底部对齐。 使用“FitEnd”会使图像与右下角对齐,因此它不会水平居中 有没有办法绕过这个问题?也许使用一些矩阵来缩放它(scaleType=“矩阵”) 编辑:澄清一下我到底想要什么 我有一个ImageView,它的布局(位置、大小、重力等)我无法更改。我想加载一个位图作为其源图像,但要将该位图缩放到ImageView的大小(保留位图的纵横比),然后与ImageView的底部对齐Android图像缩放和对齐,android,android-layout,Android,Android Layout,我试图显示一个缩放的图像,同时保留其纵横比,但同时将其与底部对齐 使用android:scaleType=“FitXY”会使图像垂直和水平居中,因此不会与底部对齐。 使用“FitEnd”会使图像与右下角对齐,因此它不会水平居中 有没有办法绕过这个问题?也许使用一些矩阵来缩放它(scaleType=“矩阵”) 编辑:澄清一下我到底想要什么 我有一个ImageView,它的布局(位置、大小、重力等)我无法更改。我想加载一个位图作为其源图像,但要将该位图缩放到ImageView的大小(保留位图的纵横比
编辑:在尝试了我能想到的一切(以及这里建议的一切)之后,我们最终对ImageView进行了分类,并在onDraw中自己进行了缩放/转换。未经测试,但尝试添加:
android:layout_gravity="bottom|center_horizontal"
与FitXY缩放一起添加到图像视图。尝试使用
android:scaleType=“centerInside”
而不是FitXY
Blrfl Labs应用程序中使用的布局,用于缩放图像以适应布局提供的区域,而无需增大纵横比:
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:src="@drawable/blah_blah_blah"
android:scaleType="centerInside"
android:adjustViewBounds="false"
/>
您可以使用
android:layout_centerHorizontal="true"
android:scaleType="fitEnd"
如果您的
ImageView
位于RelativeLayout
中心内部,则不会缩放图像,只需将其居中,而不是根据文档:“均匀缩放图像(保持图像的纵横比),以使两个尺寸(宽度和高度)都相同。”图像的尺寸将等于或小于视图的相应尺寸(减去填充);实际布局添加到上述答案中。似乎centerInside只会向下缩放,而不会向上缩放。你可以试试fitCenter,这对我很有用。不幸的是,我无法更改ImageView的大小和位置。我想要的是加载的图像被缩放,然后粘贴到图像的底部。这就是layout_gravity所做的。它会影响容器内图像的重力,实际上不会改变容器本身的位置。是的,但所有布局属性都是从视图所在的布局“继承”的。具体来说,如果图像位于线性布局中,这将起作用,但如果图像位于相对线布局中,则不起作用。然而,现在我想了想,也许我可以添加一个线性布局来包装它-这可能会解决它。