Java 闪屏,填充整个samrtphone屏幕,但不是裁剪

Java 闪屏,填充整个samrtphone屏幕,但不是裁剪,java,android,android-layout,splash-screen,Java,Android,Android Layout,Splash Screen,我想有一个启动屏幕,像一个完整的图片,它不会在不同的智能手机屏幕的高度或宽度作物 现在我用android:scaleType=“fitXY”实现了一个启动屏幕,但是现在图像在顶部或底部被裁剪,或者如果设备屏幕大小改变为另一个纵横比,它会在左侧和右侧被裁剪 我该怎么办?我已经读过android开发者文章《支持多屏幕》,但我不知道如何实现这一点 一个简单的图片在屏幕中间很容易得到,但是一个充满屏幕的图片是很难得到的。你能帮我吗?你应该使用中心作物。从医生那里 均匀缩放图像(保持图像的纵横比),以便

我想有一个启动屏幕,像一个完整的图片,它不会在不同的智能手机屏幕的高度或宽度作物

现在我用android:scaleType=“fitXY”实现了一个启动屏幕,但是现在图像在顶部或底部被裁剪,或者如果设备屏幕大小改变为另一个纵横比,它会在左侧和右侧被裁剪

我该怎么办?我已经读过android开发者文章《支持多屏幕》,但我不知道如何实现这一点


一个简单的图片在屏幕中间很容易得到,但是一个充满屏幕的图片是很难得到的。你能帮我吗?

你应该使用
中心作物
。从医生那里

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


为此,应使用
center\u crop
。从医生那里

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

使用下面的代码

android:layout_width="match_parent"
android:layout_height="match_parent"
这将填满整个屏幕。

使用以下代码

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

这将填满整个屏幕。

尝试使用图像的宽度和高度来“匹配父对象”

尝试使用图像的宽度和高度来“匹配父对象”

当应用程序部署在不同的屏幕大小时,无法创建单个资源,也无法期望它不会被裁剪,也不会创建黑色区域

android平台被设计成可以动态地使用多种屏幕尺寸,任何制造商都可以随时更改,包括您尚未想到的新分辨率

Android可以指定屏幕高/宽类别的最小值,您的资源将落在这些类别中,但这些都是泛型

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

所以你有两个选择:

  • 您可以使用一个单一的飞溅图像,并将该图像的边距设计得足够灵活,以便在某些情况下处理裁剪的图像。您可以在ImageView中使用不同的缩放类型,并将此网站作为参考,尽管如前所述,“中心裁剪”将是您的最佳拍摄

  • 您可以通过编程将特定图像用于特定分辨率。 2.1将您想要的所有特定分辨率或纵横比的所有启动图像放入assets目录中 2.1使用 2.2现在,您可以从资产中动态加载所需的图像


  • 当应用程序部署在不同的屏幕大小时,没有办法创建一个单一的资产并期望它不会被裁剪,也不会创建黑色区域

    android平台被设计成可以动态地使用多种屏幕尺寸,任何制造商都可以随时更改,包括您尚未想到的新分辨率

    Android可以指定屏幕高/宽类别的最小值,您的资源将落在这些类别中,但这些都是泛型

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

    所以你有两个选择:

  • 您可以使用一个单一的飞溅图像,并将该图像的边距设计得足够灵活,以便在某些情况下处理裁剪的图像。您可以在ImageView中使用不同的缩放类型,并将此网站作为参考,尽管如前所述,“中心裁剪”将是您的最佳拍摄

  • 您可以通过编程将特定图像用于特定分辨率。 2.1将您想要的所有特定分辨率或纵横比的所有启动图像放入assets目录中 2.1使用 2.2现在,您可以从资产中动态加载所需的图像


  • fitXY
    不会裁剪图像-它会拉伸图像以填充宽度和高度。这就是说,由于屏幕密度、纵横比和分辨率千差万别,要想得到一幅始终完美匹配的图像将是一个难题。唯一可行的方案是,您可以定义可拉伸区域(阅读:创建一个9面片)。将父布局上的图像设置为背景,并将高度/宽度属性设置为match_Parent。
    fitXY
    不会裁剪图像-它会拉伸图像以填充宽度和高度。这就是说,由于屏幕密度、纵横比和分辨率千差万别,要想得到一幅始终完美匹配的图像将是一个难题。唯一可行的方案是定义可拉伸区域(阅读:创建9面片)。将父布局上的图像设置为背景,并将高度/宽度属性设置为match_Parent。