Android覆盖滚动视图,以编程方式在顶部添加片段

时间:2014-07-30 17:45:18

标签: android android-layout android-fragments fragment scrollview

我正在制作一个布局,其中我有一个"标题",在它下面是一个scrollview。在标题下方,我想添加另一个应该在顶部(即叠加)滚动视图上绘制的片段。我目前有这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:id="@+id/fragment_container"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <ScrollView
        android:layout_below="@+id/fragment_container"
        android:background="@android:color/white"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!-- Content -->

    </ScrollView>
</RelativeLayout>

这当然没有实现我想做的事情。我可以在我的初始片段容器下面添加另一个容器视图,让它成为叠加层。但我更喜欢将所有内容保存在一个片段中。这可能吗?

1 个答案:

答案 0 :(得分:0)

我认为你需要做的是这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:id="@+id/fragment_container"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <LinearLayout
        android:id="@+id/overlay_view"
        android:layout_below="@+id/fragment_container"
        android:layout_width="match_parent"
        android:visibility="invisible"
        android:layout_height="wrap_content" />
    <ScrollView
        android:layout_below="@+id/overlay_view"
        android:background="@android:color/white"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <!-- Content -->
    </ScrollView>
</RelativeLayout>

当您想要以编程方式显示overlay_view时,可见性设置为可见:

LinearLayout overlay_view = (LinearLayout) findViewById(R.id.overlay_view);
overlay_view.setVisibility(View.VISIBLE);