我试图让这个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">
到我的清单。
我只是想在我的启动画面的背景中将顶部重复的图像链接起来,而不是将其拉伸到屏幕尺寸。 有什么想法吗?
-----
不知何故,它似乎现在正在运作,抱歉给您带来不便,感谢您的帮助。上面的代码现在是正确的。
答案 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)。可能的解决方案是手动缩小图像或以编程方式创建图像背景。