Android Splashscreen背景重复模式

时间:2017-09-22 11:56:53

标签: java android xml

我试图让这个image重复作为我的闪屏的背景。 这是我的 splashscreen.xml

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

但是瓷砖android:tileMode="repeat"似乎被忽略了,图像被拉伸到屏幕的宽高比。

修改

android:tileMode="repeat"适用于活动背景,但我试图在启动画面上实现此目的。 android:gravity="center"似乎没有任何区别。

我的活动的真实布局是无关紧要的,因为我猜它永远不会被使用。 这是我的 SplashActivity.java 的代码:

package de.ranellstudios.creactivity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MenuActivity.class);
        startActivity(intent);
        finish();
    }
}

我通过向 styles.xml 添加新主题,将 splashscreen.xml 与我的SplashActivity连接在一起:

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

和这个

<activity
        android:name=".SplashActivity"
        android:theme="@style/SplashTheme"
        android:screenOrientation="portrait">

到我的清单

我只是想在我的启动画面的背景中将顶部重复的图像链接起来,而不是将其拉伸到屏幕尺寸。 有什么想法吗?

-----

不知何故,它似​​乎现在正在运作,抱歉给您带来不便,感谢您的帮助。上面的代码现在是正确的。

1 个答案:

答案 0 :(得分:0)

好像你没有在你的drawable中使用<layer-list>。请尝试使用此代码。

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

编辑:检查您提供的图片,其分辨率似乎太大(2000 x 2000)。可能的解决方案是手动缩小图像或以编程方式创建图像背景。