gpt4 book ai didi

Android 启动画面 : Scale Bitmap

转载 作者:行者123 更新时间:2023-12-05 00:16:22 24 4
gpt4 key购买 nike

我基本上将以下 xml 用于 Android 启动画面:空 Activity windowBackground :

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>

background_splash.xml :

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/defaultBackground" />
</item>
<item>
<bitmap
android:src="@drawable/logo"
android:tileMode="disabled"
android:gravity="center"/>
</item>
</layer-list>

只要 logo.png 就可以正常工作小于屏幕尺寸。 如果logo.png比屏幕大,它超出了屏幕。

我看到了 3 种解决方法,但都有缺点:

  1. Setting left / right in <item , but this requires API 23+
  2. 变化 @drawable/logo对于 xhdpi , xxhdpi等,但我使用的是 Density Split,这会在为其他设备(apk 站点、“移动到新设备”- 传输 apk 的应用程序等)重复使用 apk 时破坏它。
  3. 使用 ImageView 的布局, 但这有明显的延迟

如何正确/无缺点地做到这一点?

最佳答案

我没有找到好的解决方案,所以我研究了 Google Drive 的启动画面是如何实现的。

基本上他们使用一个 384x384px 的 splash.png 并将其放入 drawable-xhdpi 并使用以下 xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list android:opacity="opaque"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/defaultBackground" />
<item>
<bitmap android:gravity="center" android:src="@drawable/splash" />
</item>
</layer-list>

这似乎在所有设备(我测试过)上看起来都不错并且解决了我的问题(特别是 2)。强烈推荐!

关于Android 启动画面 : Scale Bitmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60047772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com