我正在处理一个奇怪的问题。

我正在对ListView行使用以下布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:jn="http://schemas.android.com/apk/res/com.appeaser.justnoteproject"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <BUNCH OF VIEWS />

    <RelativeLayout
        android:id="@+id/rlCon"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="@dimen/margin_note_bottom"
        android:layout_marginLeft="@dimen/margin_note_left"
        android:layout_marginRight="@dimen/margin_note_right"
        android:layout_marginTop="@dimen/margin_note_bottom" >

    <BUNCH OF VIEWS />

    <View
        android:id="@+id/vOverlay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/blue_overlay"
        android:visibility="gone" />
    </RelativeLayout>

</RelativeLayout>


在我的列表适配器中,我根据特定条件切换vOverlay's可见性。但是,即使在切换可见性之后,也不会显示vOverlay

为了验证代码是否按预期工作,我将vOverlay的高度和宽度更改为50dp。当我这样做时,vOverlay's可见性按预期工作-除了我需要的大小是match_parent

有人可以解释我在做什么错吗?如何获得预期的结果?

最佳答案

将外部RelativeLayout替换为FrameLayout,然后将叠加层移动到该FrameLayout的第二个子级

07-24 20:06