如何更改启动画面中图像的大小?

lmt*_*tvt 11 xml android splash-screen ios flutter

我有一个问题,我有一个带有图像和背景颜色的启动画面,但图像渲染很小,我该如何更改它?

这是我的launch_background.xml:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<item>
    <bitmap android:gravity="center" android:src="@drawable/splash" />
</item>
Run Code Online (Sandbox Code Playgroud)

如果你知道一个包或在 Android 和 IOS 上解决它的方法,那将是完美的。

Ale*_*ntt 11

简单:创建更大的徽标文件

我也遇到了同样的问题,因为我的徽标(如下面的打印所示)非常小:

为什么?

为什么文件夹中的文件"hdpi", "mdpi", "xhdpi", "xxhdpi", "xxxhdpi"分别采用像素大小:48, 72, 96, 144, 192, 512

怎么修?

创建更大的徽标文件

就我而言,我将上面提到的文件夹中文件的像素大小加倍,因此这些"hdpi", "mdpi", "xhdpi", "xxhdpi", "xxxhdpi"文件夹分别为像素大小:88, 144, 192, 288, 384, 1024。结果是这样的:

  • 抱歉,我否决了你的答案,这实际上是对我有用的答案。 (2认同)

小智 10

我有同样的问题,但这是我所做的。

我将“中心”值更改为“填充”

那是

<item>
    <bitmap android:gravity="fill" android:src="@drawable/splash" />
</item>
Run Code Online (Sandbox Code Playgroud)

  • 这没有帮助。 (5认同)

Ste*_*tta 8

从 API 23 开始似乎可以Android通过执行以下操作:

    <item
        android:gravity="center"
        android:drawable="@drawable/logo_splash"
        android:width="100dp"
        android:height="100dp">
Run Code Online (Sandbox Code Playgroud)

但我不知道这在不同的分辨率和屏幕上会如何发挥。

如果您知道在 Android 和 IOS 上解决该问题的软件包或方法,那就完美了。:)

有一个插件似乎可以做您正在寻找的事情,而不需要您同时配置IOS& Android,请看一下https://github.com/henriquearthur/flutter_native_splash

编辑:假设您的问题是在谈论本机启动画面,而不仅仅是应用程序的初始页面。


小智 7

您可以按照应用程序图标的方式进行操作

在后台启动器中设置:

<item>
    <bitmap
        android:layout_height="fill_parent"
        android:gravity="center"
        android:src="@mipmap/splash" />
</item>
Run Code Online (Sandbox Code Playgroud)

然后调整初始图像的大小并放入 mipmap 中的相应文件夹中,如下所示

LDPI:  320x200 px
MDPI: 480x320 px
HDPI: 800x480 px
XHDPI: 1280x720 px
XXHDPI:1600x960 px
XXXHDPI:1920x1280 px
Run Code Online (Sandbox Code Playgroud)

文件夹和代码图像

在此输入图像描述


Kar*_*hta -21

尝试这样的事情:

Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
          child: Container(
              child: Image.asset(
                  'images/YOUR_IMAGE_URL.png',
                  height: MediaQuery.of(context).size.width / 2.5,
                  width: MediaQuery.of(context).size.width / 2.5,
              )
          ))
     );
  }
Run Code Online (Sandbox Code Playgroud)