Android启动页背景图片拉伸:如何按比例缩放Bitmap?
解决Android启动页Bitmap拉伸问题
嘿,这个问题我之前也帮不少开发者解决过——默认情况下<bitmap>会强制拉伸图片来填满整个父容器,自然就会出现比例失调的情况。试试给你的<bitmap>节点加上两个关键属性,就能让图片按比例缩放并保持居中:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/colorPrimary" /> <item> <bitmap android:src="@drawable/splash_portrait" android:gravity="center" android:scaleType="centerInside" /> </item> </layer-list>
我给你拆解下这两个属性的作用:
android:gravity="center":确保图片在容器里居中对齐,不会贴到屏幕边缘。android:scaleType="centerInside":这个是核心——它会让图片按原始比例缩放,保证整个图片都能完整显示在容器内:如果图片比容器小,就保持原尺寸居中;如果图片比容器大,就等比例缩小到刚好能放进容器,不会出现拉伸变形。
要是你的设计需求是让图片尽可能填满容器(类似背景图的cover效果),可以把scaleType改成centerCrop——不过这个属性会裁剪图片的边缘,只保留中间能填满容器的部分,你可以根据自己的UI需求灵活选择。
内容的提问来源于stack exchange,提问作者TechBee
相关产品推荐
相关产品推荐

