【问题标题】:Android: SplashScreen Image getting streched for Android 12Android:Android 12 的启动画面图像被拉伸
【发布时间】:2021-12-22 01:53:36
【问题描述】:

我正在尝试添加一个启动画面,我执行了以下步骤,它适用于 android 11

  1. 添加了实现
  2. 将 compileSDKVersion 更改为 31
  3. 做了一个分层列表
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/black" />
        </shape>
    </item>
    <item
        android:gravity="center"
        android:drawable="@drawable/ic_my_splash_icon">
    </item>

</layer-list>

  1. 在我的主题中嵌入分层列表
<style name="SplashTheme" parent="Theme.SplashScreen">
        <item name="windowSplashScreenBackground">@color/black</item>
        <item name="windowSplashScreenAnimatedIcon">@drawable/splash_icon</item>
        <item name="postSplashScreenTheme">@style/Theme.AppTheme</item>
    </style>

  1. 将清单主题更改为 SplashTheme
  2. 将 installSplashScreen() 添加到 MainActivity

这非常适合 Android 11 API 30 但是图像被拉伸不成比例,并且在 Android 12 API 31 的 icon circle 内被裁剪,我的图标是一个矩形字设计。

我阅读了建议在分层列表的项目中添加位图的答案之一,但是在添加位图后,图标不会在 android studios 的设计视图中呈现,并且我在运行应用程序时只会出现黑屏。

  <item>
        <bitmap
        android:gravity="center"
        android:drawable="@drawable/ic_my_splash_icon"/>
    </item>

而且我不允许手动输入比例尺寸以使其看起来更好。

【问题讨论】:

    标签: android splash-screen


    【解决方案1】:

    我一直在处理同样的问题。使用 PNG 资源给我的徽标留下了一个超大的圆形切口。最终为我工作的是将我的徽标转换为 SVG 并通过 Vector Asset 工具将其添加到项目中。

    编辑:如果 SVG 资源超过一定大小,它会再次变为圆形。这个截止尺寸看起来很小。

    为了更改初始屏幕徽标的大小,我重新创建了 SVG 资源,并在图标周围添加了与我的背景颜色相匹配的填充。这足以欺骗 Vector Asset 工具以将其缩小到我正在寻找的大小。

    【讨论】:

      【解决方案2】:

      我也遇到过同样的问题。我有一个宽高比为 1x2 的 PNG 资源,在1.0.0.alpha02 上被裁剪得非常糟糕。因此,为了解决这个问题,我使用 Adobe XD 将此 PNG 资源转换为平方 108dp 到 108dp 的 SVG 文件,我通过 Vector Asset 工具将其作为 XML 文件添加到我的可绘制文件夹中。然后我在我的 SplashScreen 主题上使用了该 XML 文件,在 Themes.xml 中最终让一切正常工作。

      此外,正如上面提到的 CodeBlue04,您需要在徽标中添加一些填充,在我的例子中,填充等于 18dp。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多