布局中的动态视图

时间:2011-02-01 15:37:56

标签: android android-layout

在我的xml中,我最初有3个视图

我必须隐藏一个视图然后我必须在程序中取消隐藏它。

当我隐藏那个视图时,另一个必须调整,当我取消隐藏它必须调整

1 个答案:

答案 0 :(得分:4)

假设你有这样的布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:id="@+id/linearLayout"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="wrap_content" android:layout_height="wrap_content">

        <!-- your content here -->

    </LinearLayout>
    <LinearLayout android:id="@+id/LinearLayout02"
        android:layout_width="wrap_content" android:layout_height="wrap_content">


        <!-- your content here -->

    </LinearLayout>
    <LinearLayout android:id="@+id/LinearLayout03"
        android:layout_width="wrap_content" android:layout_height="wrap_content">

        <!-- your content here -->
    </LinearLayout>
</LinearLayout>

在程序启动时使用

LinearLayout linearLayout1,linearLayout2,linearLayout3;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
//define and declare  the layouts
                  linearLayout1=(LinearLayout) findViewById(R.id.LinearLayout01);
        linearLayout2=(LinearLayout) findViewById(R.id.LinearLayout02);
        linearLayout3=(LinearLayout) findViewById(R.id.LinearLayout03);

 }

现在,当您想要隐藏第一个布局时,请使用

linearLayout1.setVisibility(View.GONE);

现在,当您想要显示第一个布局时,请使用

linearLayout1.setVisibility(View.VISIBLE);

所有布局的情况都相同..

希望这会对你有帮助..