Динамические представления в макете - PullRequest
0 голосов
/ 01 февраля 2011

В моем xml у меня сначала 3 вида

Мне нужно скрыть один вид, после чего я должен показать его в программе.

Когда я скрываю этот вид, другой должен настраиваться, а когда я его показываю, он должен настраиваться

1 Ответ

4 голосов
/ 01 февраля 2011

Предположим, у вас есть такой макет

<?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);

Ситуация одинакова для всех макетов ..

Надеюсь, это поможет вам ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...