以编程方式删除布局

时间:2012-04-18 14:13:37

标签: android android-layout

我已经了解了我的应用活动的xml结构。现在我想用id layer1Front以编程方式删除子RelativeLayout。我将如何在代码中执行此操作。我不想隐藏它,我需要删除它,因为我的应用程序中的内存问题。在删除之后,我的应用程序会以某种方式比当前的应用程序更轻更快吗?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/layer1Front" >
    </RelativeLayout>   
    <HorizontalScrollView android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <FrameLayout android:layout_width="wrap_content"
            android:layout_height="fill_parent"                   
            android:id="@+id/parallaxLayers"        
            android:visibility="gone">      
        </FrameLayout>
    </HorizontalScrollView>
    <RelativeLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/frontView">

    </RelativeLayout>       

</RelativeLayout>

2 个答案:

答案 0 :(得分:31)

最简单的是

findViewById(R.id.layer1front).setVisibility(View.GONE);

但是你也可以拥有像

这样的东西
View root = findViewById(R.id.your_root);
root.removeView(yourViewToRemove);

不,删除后,您的应用不会更轻或更快

答案 1 :(得分:2)

尝试获取父级布局,然后删除子级

parentView.remove(child) 

我希望这有效。