我正在制作一个启动界面,通过更改
然而,使用这种设置后,我发现一旦从闪屏界面进入启动器活动,标志会向上移动约5-10像素。我的问题是,我该怎么做才能完全消除这种偏移?我可以显然地硬编码一些周围的边距。但我不确定这是否适用于所有设备尺寸。那个5-10像素的偏移是什么呢?我基本上在布局中使用了与背景相同的图像。 我注意到,如果我不为我的splashActivity布局设置任何背景,这个问题就解决了。但我仍然想要一个背景,因为在我的用户工作流程中,用户可能会被重定向到这个屏幕。我不希望他们看到一个空白的屏幕 =/。
<style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
主题的属性。
这个drawable/background_splash看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
<item android:drawable="@color/colorPrimary"/>
<item>
<bitmap
android:src="@drawable/ic_logo_black"
android:gravity="center"/>
</item>
</layer-list>
对于我的启动活动,它在后台进行一些计算,然后根据条件导航到其他活动。这个计算需要服务器,所以它会在这个活动上停留一段时间。
为了使体验更好,我希望这个活动看起来与闪屏屏幕相同。
因此,我基本上是为布局做了这个。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_splash"
android:orientation="vertical">
</RelativeLayout>
然而,使用这种设置后,我发现一旦从闪屏界面进入启动器活动,标志会向上移动约5-10像素。我的问题是,我该怎么做才能完全消除这种偏移?我可以显然地硬编码一些周围的边距。但我不确定这是否适用于所有设备尺寸。那个5-10像素的偏移是什么呢?我基本上在布局中使用了与背景相同的图像。 我注意到,如果我不为我的splashActivity布局设置任何背景,这个问题就解决了。但我仍然想要一个背景,因为在我的用户工作流程中,用户可能会被重定向到这个屏幕。我不希望他们看到一个空白的屏幕 =/。