2017-08-11 22 views
0

我通過改變一個主題的Android的化妝活動佈局看起來一樣閃屏繪製

<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> 

財產做一個閃屏。

這可繪製/ 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 px。

我的問題是,我該怎麼做才能讓這種轉變完全消失?我顯然可以硬編碼一些邊緣。但我不確定這是否適用於所有尺寸的設備。

無論如何這是5-10px的轉變?我基本上使用了精確的圖像作爲佈局的背景。

我注意到,如果我沒有爲我的splashActivity佈局設置任何背景,則會解決此問題。但我仍然喜歡背景,因爲在我的用戶工作流程中,用戶可能會被重定向到此屏幕。我不希望他們看到空的空白屏幕=/

回答

0

我不知跑了通過不設置任何背景圖片我的SplashActivity。

然後它是透明的,看到最初的窗口背景。

0

imageImageView聯繫起來總是更好和更安全。

無論在SplashLauncher活性,只是一個ImageView內部RelativeLayout並設置scaleTypecenterCrop

+0

我沒有飛濺的活動。我只有一個使用drawable的啓動畫面。我嘗試使用包含ImageView的RelativeLayout,它似乎不起作用 - 同樣向上移動行爲。 – user1017674

0

如所解釋的here

android:background是視圖組件的背景顏色(繪製要精確),而android:windowBackground是您的視圖所在的窗口(活動或對話框)的背景顏色。所以這可能是5px填充背後的原因之一。 (我不確定)。

在另一方面,你可以通過執行動態設置的發射活動的主題是:

public void onCreate(Bundle savedInstanceState) { 
    setTheme(android.R.style.Theme); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_second); 
} 

只記得使用setThemesuper.onCreate

+0

我基本上是你寫的實現啓動畫面。 = / – user1017674