如何在android中删除相对布局

时间:2013-07-13 13:47:02

标签: android relativelayout

如何删除作为标题添加到另一个布局的整个RelativeLayout。 这是我的代码:

tour.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/relativeVideoTour"
    android:layout_height="232dp" >

    <ImageButton
        android:id="@+id/play_button1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:background="@drawable/video_img"
        android:contentDescription="@null" />

    <ImageButton
        android:id="@+id/play_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/play"
        android:contentDescription="@null" />

</RelativeLayout>

我将此布局添加到列表视图中。

ListView m_listView = (ListView) listView.findViewById(R.id.list);
m_listView.addHeaderView(getActivity().getLayoutInflater().inflate(R.layout.tour, null));
        m_listView.setHeaderDividersEnabled(false);

        m_relativeVideoTour = (RelativeLayout) listView.findViewById(R.id.relativeVideoTour);

        m_relativeVideoTour.setVisibility(View.INVISIBLE);
        m_relativeVideoTour.setVisibility(View.GONE);

通过使用上面的代码,tour.xml中的那些按钮的图像没有显示..但是空白区仍然保留在列表的顶部。

如何删除带有空白区域的整个巡回布局(仅显示列表视图)

请帮帮我.. 提前谢谢......

3 个答案:

答案 0 :(得分:1)

如果要从列表中删除标题,则应使用以下代码:

m_listView.removeHeaderView(m_relativeVideoTour);

m_relativeVideoTour应该是ListView标题的视图。

但是当您使用removeHeaderView()删除标题时,无法再次添加标题,因为您只能在设置listAdapter之前添加标题。

我建议你按照这里提到的解决方法: Remove header from listView

答案 1 :(得分:-1)

我不知道它的权利与否,但它应该有效,所以你可以尝试在你的java文件中添加额外的代码:

ImageButton ib=(ImageButton)findViewById(R.id.play_button);
ib.setVisibility(View.GONE);

ImageButton ib1=(ImageButton)findViewById(R.id.play_button1);
ib1.setVisibility(View.GONE);

它的可见性必须设置为GONE,因为通过使用隐形它变得不可见但它不会留下它的空间!

答案 2 :(得分:-1)

因为你使用listView,所以你应该在你膨胀的视图上使用removeHeaderView

不过,除非你确切知道自己在做什么,否则你不应该混淆listView包含的视图。

而不是(仅在这种情况下),只需保持对此特殊视图的引用。