我正在尝试通过使用以下可绘制对象使图像覆盖屏幕:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<item>
<bitmap
android:gravity="fill_horizontal|fill_vertical"
android:src="@drawable/launch_image" />
</item>
</layer-list>
现在,我不想填充空间(拉伸图像),而是要覆盖它(如CSS3封面所示)。
我看到的每个答案都只能填充或居中图像,真的没有办法吗?
请注意,我正在为此应用程序使用Flutter。
答案 0 :(得分:1)
您可以在此处找到可用于位图的每个参数:
https://developer.android.com/guide/topics/resources/drawable-resource#XmlBitmap
我认为您要用于重力值的是clip_vertical或clip_horizontal,并且需要将其与重力的对齐方式之一结合使用:上,左,下,右,center_vertical或center_horizontal。
您需要使用长宽比最大的图像(21:9)并为其定义底基(图像的主要部分)。底座必须在侧面或中央之一。
示例: 如果要将图像的“底部”放在底部,即使上部被剪裁,底部也会保留重要的内容。 看看下面的图像,第一个是21:9,第二个是剪辑到4:3屏幕中的同一图像。第三张图像是每个主要宽高比如何裁剪图像。
相同的想法可用于以4:3的宽高比裁剪图像,您可以在其中保留高度并裁剪宽度。
我希望能回答您的问题。
答案 1 :(得分:-1)
在Flutter中,您可以借助以下代码段实现它。
body:新中心(
子级:new Image.asset('assets / images / flutter.png'),
),
我找到了一个简单的示例here
答案 2 :(得分:-1)
以下代码对我有用。...
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<item>
<bitmap
android:gravity="fill"
android:src="@drawable/launch_image" />
</item>
</layer-list>
答案 3 :(得分:-2)
检查Tolyas answer 从API 23开始,可以在“ item”标签内直接设置宽度和高度