隐藏Android“加载”视图以显示另一个视图

时间:2011-07-29 00:36:28

标签: android android-layout visibility

在我的活动XML布局中,我有两个视图,基本上是“加载”视图和“结果”视图。加载视图是可见的,结果是不可见的,直到异步/线程调用完成,此时可见性将反转。

以下是相关XML的摘录:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center">

    <TextView
        android:id="@+id/loading"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:text="@string/loading" />

    <LinearLayout
        android:id="@+id/results"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:visibility="invisible">

        <!-- result contents -->
    </LinearLayout>
</LinearLayout>

以下是我用来交换可见性的代码:

findViewById(R.id.results).setVisibility(View.VISIBLE);
findViewById(R.id.loading).setVisibility(View.INVISIBLE);

不幸的是,这些调用的结果似乎隐藏了加载视图,但没有显示结果。

我在想,即使加载视图不可见,它的区域仍然会消耗显示结果布局所需的屏幕部分,但这只是猜测。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

请使用

findViewById(R.id.results).setVisibility(View.VISIBLE);
findViewById(R.id.loading).setVisibility(View.GONE);
相关问题