我试图将一个可绘制的图像居中,两边都有一些填充,以用作闪屏徽标。问题是,如果我使用gravity
,它要么会在整个屏幕上伸展,要么会忽略任何填充。
<?xml version="1.0" encoding="utf-8"?>
<item
android:drawable="@color/grey_3"/>
<item android:gravity="top|center_horizontal|center_vertical" android:drawable="@drawable/zc_logo_r"
android:top="100dp"
android:left="200dp"
android:right="200dp"
android:layout_margin="100dp"
>
</item>
我已经尝试使用位图,android:gravity="fill_horizontal"
和其他各种关于SO的建议,结果都是一样的。
如何在xml中缩放和居中图像?
发布于 2016-10-28 04:34:00
作为参考,如果你遇到同样的问题,我用可绘制文件夹(即hdpi,mdpi,xhpi,xxhpi和xxxhdpi)中的正方形图像解决了这个问题,而不是调整一个太大而失真的矩形图像的大小。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/grey_3"/>
<item android:gravity="center">
<bitmap android:src="@drawable/splash_logo"/>
</item>
</layer-list>
发布于 2016-10-27 01:05:53
将可绘制的图像转换为9补丁可能是最简单的方法。
你遇到的问题是层列表对它的大小没有固有的概念。边界是在将其放入容器内时设置的。xml属性是在编译时设置的,因此很难在xml可绘制文件中获得动态值。
如果可以使用ImageView,那么可以在src属性中设置可绘制对象,并使用填充、页边距和scaleType来控制可绘制对象的位置和缩放比例。
https://stackoverflow.com/questions/40274233
复制相似问题