首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android闪屏已拉伸

Android闪屏已拉伸
EN

Stack Overflow用户
提问于 2020-01-22 17:35:39
回答 1查看 3K关注 0票数 2

我试图创建一个闪屏使用this tutorial通过使用一个额外的主题。这是我在styles.xml中的启动器主题

代码语言:javascript
复制
    <style name="AppTheme.Launcher" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <item name="android:windowBackground">@drawable/ic_launch_screen</item>
        <item name="colorPrimaryDark">@color/color_white</item>
    </style>

这是ic_launch_screen.xml文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/color_white" />
    <item>
        <bitmap android:src="@drawable/ic_splash_screen" />
    </item>
</layer-list>

ic_splash_screen文件已经是一个包含9个补丁的文件,如下所示:

在Android Studio的9补丁预览中,它显示,如果拉伸,徽标将不会调整大小,看起来完全对齐。

然而,当我在这个组合中使用它时,闪屏在我的华为和三星上看起来是伸展的,但在像素2模拟器上却不是:华为Mate 10Pro和三星Galaxy s9+ (它们的伸展方式是一样的):

在模拟器上,它看起来像这样:

问题与系统导航无关。当我在模拟器中使用三键导航时,它在华为上看起来仍然很紧张。

我已经尝试过在ic_launch_screen.xml中使用<nine-patch>元素或gravity:center属性,但它看起来更加混乱。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 18:02:03

我不确定为什么9补丁没有扩展,但我可以提出一个解决方案。您可以创建2个绘图,第一个与文本pass13和另一个与徽标。现在,您可以创建以下图层列表:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/color_white" />
    <item>
        <bitmap
            android:gravity="center" 
            android:src="@drawable/drawable1" />
    </item>
    <item>
        <bitmap
            android:gravity="center|bottom" 
            android:src="@drawable/drawable2" />
    </item>
</layer-list>

现在它应该有很好的伸缩性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59856537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档