2011-06-13 174 views
9

我有一个很像下面的布局。目前,当后退按钮被按下时,红色线性布局的可见性被设置为消失。但是,我希望它能够从页面上“滑”出来。我将如何做到这一点?Android:布局“滑动”屏幕?

my layout

+1

你为什么不尝试使用动画来达到这个目的。因为,我不认为可以有任何其他的方式或方法定义滑脱 – Nikki 2011-06-13 11:31:15

+1

我将如何使用动画来实现这一目标?你能否详细说明一下? – Skizit 2011-06-13 11:33:18

+0

你想要一个布局滑动和另一个布局应该可见.......我是否理解 – Nikki 2011-06-13 11:35:56

回答

35

您需要使用动画。这里是输入/输出动画顶部:

在顶部

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="-100%" android:toYDelta="0%" android:duration="300"/> 
</set> 

出顶级

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="0%" android:toYDelta="-100%" android:duration="600"/> 
</set> 

然后在你的活动获取视图和应用动画,以这样的: 这是键入动画。

mSlideInTop = AnimationUtils.loadAnimation(this, R.anim.slide_in_top); 
     mSlideOutTop = AnimationUtils.loadAnimation(this, R.anim.slide_out_top); 

,并使用此代码调用它们:

header.startAnimation(mSlideOutTop); 
     header.setVisibility(View.INVISIBLE); 

这里头是一个的LinearLayout包装自己的看法。同样的事情,如果你想让它滑入。只需在动画中添加幻灯片,并使视图可见。

+0

mSlideInTop定义在哪里?我应该把它放在onCreate()方法下吗?我在哪里定义哪个XML文件应该放入/退出? – Si8 2013-07-25 17:01:30

+0

这取决于你的需求。您通常在实际启动之前创建动画对象,但我想它可能是在onCreate内的活动中初始化的字段。该XML位于res/anim文件夹下。 – DArkO 2013-07-25 21:02:05

+0

它不适用于我的应用程序。在顶部的看法只是消失了,没有动画发生。我做的是:1:titleHideAnimation = AnimationUtils.loadAnimation(this,R.anim.anim_top_out_slow); 2:titleLayout.startAnimation(titleHideAnimation); 3:titleLayout.setVisibility(View.GONE); – tainy 2016-09-29 10:27:43