Android 12中的启动屏幕 - 将标志从屏幕中心移开

6
我正在使用Android的新启动屏幕API,但是我发现这个新API有一些限制。我想在不影响启动屏幕中logo大小的情况下将logo放在中心线以上(这是我的应用程序UX的要求)。同时我的logo是方形的。
在新API中有没有方法可以做到这一点,或者我必须按照旧的方式来做。如果我按照新API文档所说的去做,会有什么问题吗?

如果您之前已经在Android 11或更低版本中实施了自定义启动屏幕,则需要将您的应用程序迁移到SplashScreen API以确保它在Android 12及更高版本中正确显示。有关说明,请参见将现有的启动屏幕实现迁移到Android 12。

Visually describe


请点击此链接,它将帮助您在当前的启动屏幕API中设置自定义视图布局,这样您就可以使用相对布局设置所需的视图。参考资料:https://www.raywenderlich.com/32555180-splash-screen-tutorial-for-android - Kishan Mevada
@KishanMevada 这是一个有用的链接,但我之前已经检查过了。 - kallis
3个回答

2

据我所了解:

遗憾的是,使用新的API无法实现您想要的结果,并且这个新的API将在Android 12+中被调用。

如果您真的想要这个功能,您应该直接使用启动屏幕API实现新功能,而不使用兼容库,在Android <= 11上避免同时显示旧版启动屏幕,同时在Android >= 12上防止旧版启动屏幕渲染,以避免在这种情况下通过两个不同的启动屏幕。

但我认为理解这种分歧的体验是否可以接受会很好。如果新的Android版本推动这种默认行为,随着时间的推移,越来越多的设备将无法看到您想要的结果。遗憾的是,他们没有给予更多自由,我希望他们能在未来改变这一点。


0

我认为你的方式不可行。


-1
默认情况下,不支持此功能;只有layout_gravity="center"
仍然可以更改splash_screen_view.xml和/或styles.xml
除非从源代码构建,否则无法更改该XML。
git clone https://github.com/androidx/androidx.git
cd androidx/core

项目 androidx/core/buildSrc 需要 Gradle 7.5 进行构建且 buildscript 需要 repositories

repositories {
    maven { url 'https://jitpack.io' }
    gradlePluginPortal()
    mavenCentral()
    google()
}

使用 androidGradlePlugin = "7.2.2" 仍然会在 buildSrc 中被卡住,与 :plugins:build。除了那个损坏的 androidx.inspection.gradle.InspectionPlugin,这是如何生成具有备用 XML 布局的自定义构建的方法。修复构建不是问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接