Xamarin Forms Android启动页图片保宽高比水平铺满问题求解
核心问题:你当前配置中给<bitmap>标签添加的adjustViewBounds、scaleType属于ImageView组件的专属属性,在layer-list的bitmap元素中不会生效,这是之前参数调整未达到预期的主要原因。
要实现保留图片宽高比、水平铺满屏幕、仅裁剪上下冗余区域的启动页效果,直接调整bitmap的gravity属性即可,正确配置如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:gravity="fill_horizontal|center_vertical|clip_vertical" android:src="@drawable/splash" android:tileMode="disabled"/> </item> </layer-list>
参数说明:
fill_horizontal:强制图片宽度铺满整个屏幕center_vertical:图片在垂直方向居中显示clip_vertical:裁剪超出屏幕上下边界的图片区域,全程不会拉伸挤压图片,宽高比完全保留
适配建议
- 建议把启动页核心视觉元素(logo、核心文字等)放在图片垂直方向的中间安全区域,避免不同比例的设备裁剪时切掉关键内容
- 如需更精细的适配,可以在不同
drawable-xxx密度文件夹下放置对应比例的启动图,减少裁剪幅度
内容的提问来源于stack exchange,提问作者dpc46
相关产品推荐
相关产品推荐

