2011-06-16 29 views
0

我最近更新手機薑餅和我的恐怖我的一個應用程序停止工作!覆蓋視圖有時不畫

該應用程序由一個SurfaceView和一個佈局(視圖)組成,這個佈局顯示爲這個SurfaceView的疊加層。

在XML看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <com.mycompany.MySurfaceView 
    android:id="@+id/myview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"  
    /> 

    <include layout="@layout/settings" 
    android:layout_alignTop="@id/myview" 
    android:visibility="invisible" 
    android:id="@+id/settings" 
    /> 

</RelativeLayout> 

當用戶按下菜單按鈕,我使用此代碼顯示視圖:

View settings = (View)findViewById(R.id.settings); 
settings.setVisibility(View.VISIBLE); 

這個版本上工作flawlessy比2.3,但現在早行爲是非常隨意的

觀察

在極少數情況一切正常。

有時在隱藏/取消隱藏後顯示視圖。

有時您可以按下視圖上的按鈕(即使它是不可見的),這會使得視圖在應用程序的其餘生命週期中顯示出來。

getVisibility方法始終報告正確的值。

我已經試過

重建平局緩存

使用BringToFront方法

後無效

設置視圖的初始值設置爲 「可見」,這使得一切工作,但我真的希望它最初是隱形的!

如果有人想檢查問題,你可以在我的應用程序中嘗試它(它在市場上,搜索「chainparticles」)。

謝謝!

回答

1

通過將視圖初始狀態更改爲「消失」來解決此問題。 WTF?