背景和图层问题(Android Studio)

时间:2017-06-06 14:16:53

标签: android android-layout scrollview

我对this project中的视图背景有疑问。

有一个带有透明图层的视图,并不总是显示...在某些情况下,如果此视图的高度自动设置为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

有任何想法来解决这个问题吗?

提前致谢。

大卫。

1 个答案:

答案 0 :(得分:1)

我想我发现了你的布局问题。 transparent_background视图的有时高度为0,因为其高度为match_parent,其父级(main_relative_layout视图)的高度设置为wrap_content。您应该使用transparent_backgroundLinearLayoutandroid:layout_alignTop和{{1}将android:layout_alignBottom维度设置为相对于另一个视图,包含内容的android:layout_alignLeft }属性。您可能需要删除android:layout_alignRight边距并使用填充来正确对齐LinearLayout视图,如果您需要帮助,请与我们联系。