2017-06-06 25 views
0

問題我有在this project觀的背景問題。與背景和層(Android Studio中)

有一個視圖與透明層,其並不總是顯示...它看起來就像如果,在某些情況下,這種觀點的高度自動設置爲0,因爲我可以的預覽看到包含視圖的活動。此元素的代碼如下:

<View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="16dp" 
     android:alpha="0.5" 
     android:background="@drawable/background_layers" /> 

此活動中的主視圖組是ScrollView。如果顯示整個佈局,並在屏幕上可見(這樣你就不會需要向下滾動)一切工作正常(看透明層,這是這個問題的主題):

Vertical orientation: background transparent layer displays correctly

但是,如果屏幕密度很低,或者如果設備處於縱向方向,並且我必須使用滾動,因爲完整的佈局不會同時顯示...先前的視圖不顯示,透明圖層不是可見:(

Horizontal orientation: background transparent layer is not displayed

它發生時,應用程序是就像我說的那樣,在預覽屏幕中運行並在Android Studio中運行。這裏是垂直方向和低屏幕密度爲例,該活動的Android Studio中的預覽選項卡上看到:

Preview screen in Android Studio

任何想法解決這個isue?

在此先感謝。

David。

+0

你可以發佈整個佈局的代碼? –

+0

我猜這裏張貼的時間很長,@JuanMartinez。我創建了一個要點這項活動:https://gist.github.com/dburgosp/69ad5359af0f39590d2261361d72b429 –

回答

1

我想我找到了你的佈局問題。所述transparent_background視圖有時需要高度0,因爲它的高度是match_parent和它的父(所述main_relative_layout視圖)具有其高度設定爲wrap_content。您應該將transparent_background尺寸相對於另一視圖進行設置,LinearLayout可能會使用android:layout_alignTop,android:layout_alignBottom,android:layout_alignLeftandroid:layout_alignRight屬性來包裝內容。您可能需要刪除LinearLayout保證金並使用填充代替正確對齊transparent_background視圖,請告訴我您是否需要一些幫助。

+0

非常感謝,@JuanMartinez。我一直在嘗試,但沒有成功:(我忘了說,當我包括ScrollView的時候出現了問題,所以我想解決這個問題的最好方法是去掉ScrollView併爲兩個方向和每個屏幕調整佈局密度,無需滾動的。再次感謝! –

+1

是的,這是有道理的,似乎與滾動型的問題,因爲當你加它,你必須設置main_relative_layout RelativeLayout的高度WRAP_CONTENT。如果刪除了滾動並設置RelativeLayout的身高match_parent問題將消失。 –