为什么我的9补丁安卓启动画面中间有一个黑色矩形?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的9补丁安卓启动画面中间有一个黑色矩形?相关的知识,希望对你有一定的参考价值。

我正在尝试使用9补丁图像作为启动画面,但在这样做时我得到了一个奇怪的人工制品。

我在活动中使用以下样式

<style name="AppTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
</style>

这引用了以下drawable

<?xml version="1.0" encoding="UTF-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/splash_background" />
    </item>
    <item>
        <nine-patch 
            android:src="@drawable/test_splash" 
            android:tileMode="disabled"
            android:gravity="center" />
    </item>
</layer-list>

9-patch image有两个可伸缩的垂直区域 - 在“中间”的上方和下方。没有水平缩放集。

9-patch image

最终给我的是什么

bad screenshot

那条黑色酒吧3/4的下方来自哪里?

答案

我遇到过同样的问题。通过我所有的splash.9.png文件擦洗来寻找问题后,我退回并尝试了一个在另一个应用程序中工作正常的文件。它产生了同样的神器。

似乎问题出在Theme.AppCompat.Light.NoActionBar上。试试这个:

  <style name="splashscreen" parent="android:Theme">

它在标题栏周围看起来并不完全相同,但它看起来像一个闪屏。

另一答案

我不使用Xamarin(我使用Titanium),但是当我没有提供填充框(右侧和底部的黑色像素)时,我遇到了这个问题。我通过用黑色填充填充线来修复它。

以上是关于为什么我的9补丁安卓启动画面中间有一个黑色矩形?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9 xCode 7 构建的应用程序显示黑色矩形而不是初始屏幕

我的启动画面后我的程序不断崩溃。为啥?

安卓启动画面

直接启动安卓的联系人聚合建议画面

iOS 9黑色启动屏幕[关闭]

什么叫Android程序安全补丁级别?