2011-02-05 58 views
1

我有一個LinearLayout A,它是通過setContentView()在onCreate()方法內部設置的,但是我在運行時創建了一個PopUp,它也是一個LinearLayout B,PopUp放置在屏幕/活動,我想要禁用背景屏幕,以免觸摸/點擊/點擊工作。如何禁用背景屏幕

我該怎麼做。

感謝

回答

3

這是我怎麼能做到這一點...我會建議你做你的佈局的RelativeLayout的根目錄,然後把你的LinearLayout一個內部的。您的LinearLayout B應該是屏幕的完整大小,並在其內部有兩個視圖(頂部和底部)。底部視圖是您已經使用的PopUp。頂部只是一個基本的視圖,其背景顏色設置爲黑色,並且上面有一個.25(或.1)的alpha值,以便它幾乎完全透明。

當你想顯示你的彈出窗口(並且禁用與彈出窗口之外的控件的交互)時,將LinearLayout B添加到你左上角的相對佈局(即B應該完全覆蓋A)。用戶將能夠與底部的彈出控件進行交互,並仍然能夠通過佈局B的最透明的頂部看到LinearLayout A,但由於它稍微變灰,用戶將知道它們不允許進行交互與它...並將被阻止與它進行交互,因爲覆蓋視圖將阻止交互。