启动屏幕,填充整个智能手机屏幕,但不会裁剪

时间:2013-10-18 09:46:23

标签: java android android-layout splash-screen

我希望有一个闪屏,就像一张完整的图片,在不同的智能手机屏幕上不会以高度或宽度裁剪。

现在我使用android:scaleType="fitXY"实现了启动画面,但现在图像在顶部或底部被裁剪,或者如果设备屏幕尺寸更改为另一个宽高比,则会在左侧和右侧裁剪。

我该怎么办?我已经阅读了android开发人员文章Supporting Multiple Screens,但我不知道如何实现这一点。

屏幕中间的简单图片很容易获得,但是很难获得填满屏幕的图片。你能帮帮我吗?

4 个答案:

答案 0 :(得分:3)

你应该为此目的使用center_crop。来自doc

  

均匀缩放图像(保持图像的纵横比)   图像的尺寸(宽度和高度)将等于或   大于视图的相应尺寸(减去填充)。

答案 1 :(得分:1)

无法创建单个资源,并且期望它不是裁剪器,并且当应用程序以不同的屏幕尺寸部署时,不会创建黑色区域。

Android平台旨在动态地使用多种屏幕尺寸,任何制造商都可以随时更改,包括您尚未考虑的新分辨率。

Android可以为您的资源下降的屏幕高/宽类别指定最小值,但这些是泛型。

为了使用它们,你必须在drawables中指定限定符并为每个限定符创建一个不同的启动画面,例如,如果你使用drawable-w420dp,当屏幕有一个时,将使用所有资源。最小宽度为420dp(通知不是像素)

所以你有两个选择:

  1. 您可以使用单个启动图像并设计足够灵活的图像边距,以便在某些情况下处理正在裁剪的图像。你可以在你的ImageView中使用不同的scaleTypes作为参考这个网站http://etcodehome.blogspot.co.uk/2011/05/android-imageview-scaletype-samples.html,即使之前评论过,“center-crop”将是你最好的镜头。

  2. 您可以以编程方式将特定图像用于特定分辨率。 2.1在资源目录中输入您想要使用的所有特定分辨率或宽高比所需的所有初始图像 2.1使用Get screen dimensions in pixels获取设备的屏幕尺寸 2.2现在,您可以从资产中加载动态图像

答案 2 :(得分:0)

使用以下代码

android:layout_width="match_parent"
android:layout_height="match_parent"

将填满整个屏幕。

答案 3 :(得分:0)

尝试将图像的宽度和高度用于“match_parent”