2011-08-18 34 views
0

我似乎遇到了某種奇怪的問題,平鋪背景在某些條件下拉伸。當立即開始其他活動時,背景圖片會忽略平鋪

我的應用程序有一個歡迎屏幕(與登錄/註銷),因爲它的主要活動。如果用戶已登錄,他/她就會自動重定向到從onCreate方法的另一個活動。

問題是,每當發生這種情況時,應用程序窗口的平鋪背景就會伸展。

現在,平鋪只要我「看到」的主要活動完全適用於所有的背景。也就是說,如果我從onCreate刪除調用startIntent - 或 - 如果我走「回」到歡迎屏幕,並從那裏繼續。

我也試過從onResume「跳」,但問題依然存在。

經由themes.xml

<item name="android:windowBackground">@drawable/application_background</item> 

drawable/application_background.xml設置背景(其中還包括一個微妙梯度)

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
    <bitmap android:src="@drawable/noise" android:tileMode="repeat" /> 
    </item> 
    <item> 
    <shape android:shape="rectangle"> 
     <gradient android:angle="90" 
       android:startColor="#3000" 
       android:endColor="#0000" /> 
    </shape> 
    </item> 
</layer-list> 

WelcomeActivity.java

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.welcome); 

    // ... init buttons etc 

    // Jump directly to the reading list user already has valid credentials 
    if(hasValidCredentials()) { 
    startActivity(new Intent(this, ActivityReadingList.class)); 
    } 
} 

的粗瘸子說明相關的代碼問題:

Tiling Issue Android

任何幫助,將不勝感激。

謝謝, /C

+0

你發現之前對此的解決方案?我有類似的問題。首次運行時,單個磁貼會在初始活動中延伸。 – longhairedsi

+0

不,我沒有遺憾:/ –

+0

我也沒有,這似乎是一個Android bug – longhairedsi

回答

2

我也遇到了這個問題,它很惱人的,因爲有可用在網絡上解決這一問題沒有任何幫助。所以,我認爲它在SDK中的錯誤。

總之,要解決這個問題,這是我的黑客:


讓你application_background.xml的另一個副本,例如:

原:application_background.xml

副本:copy_application_background。 xml

現在將您的一項活動與原始背景關聯,第二項與副本

的活動之一:

<item name="android:windowBackground">@drawable/application_background</item> 

爲活動二:

<item name="android:windowBackground">@drawable/copy_application_background</item> 

希望它應該爲你工作,因爲它肯定爲我做到了。

我想這個問題是與背景是這兩種活動緩存的東西都使用相同的來源,它會導致亂用時,活動撥打電話到另一個平鋪正在表明自己

+0

是這樣做工作 - 醜陋,但工作=)謝謝。 –

+0

不錯的一個。試圖從1小時起解決這個問題。 –