平滑动画视图隐藏/显示线性布局android

时间:2013-11-23 02:41:36

标签: android android-layout android-animation android-view

我有一个包含4个嵌套线性布局的linearlayout。我需要隐藏第一个嵌套布局并显示2和3,然后隐藏2和3并显示第1个。我想用滑动效果来动画这些过渡。那么屏幕的第一张幻灯片然后打开2和3幻灯片。我已设法动画1滑动(虽然不是很顺利),但无法弄清楚如何进行从View.GONE到View.VISIBLE的幻灯片。

没有动画,我只是在1号做setVisiblity隐藏它然后在2/3上设置Visiblity来拍摄它们然后它非常小故障并且文本重叠。

请参阅下面我遇到的问题。

我目前用来隐藏/显示的代码:

        LinearLayout item2= (LinearLayout) rootView.findViewById(R.id.item2);
        LinearLayout item1= (LinearLayout) rootView.findViewById(R.id.item2);

            item1.setVisibility(View.GONE);
            item2.setVisibility(View.VISIBLE);

enter image description here

3 个答案:

答案 0 :(得分:0)

我认为你不能从VISIBLE动画到GONE。

我会尝试动画降低视图的高度,直到0(或缩放到0)

另请查看here

它使用ListView而不是LinearLayout但它可能适合你

答案 1 :(得分:0)

在要隐藏的视图上使用Alpha动画。还可以使用AnimationUpdateListener,一旦动画完成,视图就不可见。

答案 2 :(得分:0)

您可以让Android为您设置布局动画。每次您更改布局中的某些内容(例如更改视图可见性或视图位置)时,android都会自动创建淡入淡出/过渡动画。要在布局的根节点上使用该设置;

android:animateLayoutChanges="true"