2012-06-07 82 views
0

我对于开发android应用程序非常新。现在我想要做的是实现四个按钮,一旦用户点击,比方说,在最顶端的按钮上,另外两个子按钮应该出现在点击按钮下面,其余三个按钮应该自动向下移动。Android移动内容向下

我觉得我的解释不是百分之百清晰,所以我试图用一些图像来说明问题。

现在这里有四个按钮:

http://advancedata.ad.funpic.de/First-AGApp.png


而且只要用户按下按钮一个,两个额外的按钮应该会出现与其他三个按钮应该向下移动:

http://advancedata.ad.funpic.de/Second-AgApp.png
我会非常感谢任何建议如何实现这一点。

感谢, enne

回答

1

绘制在垂直方向的LinearLayout中所有的按钮。添加属性

android:visibility="gone" 

添加到单击主按钮时应出现的按钮。然后你就可以显示与行的主要按钮的OnClickListener这些按钮:

button.setVisibility(View.VISIBLE); 

,其中按钮是参考代码布局。

Button button = (Button) findViewById (R.id.your_button_id); 

编辑:

将动画添加到这个过程中,你要滑上/下出现的新的按钮和下面的按钮。 (将视图分组为布局,以便应用动画更加容易)。

这里有两个XML文件在您的RES /动画文件夹中创建:

slide_down.xml

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

slide_up.xml

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

在你的代码创建动画附:

Animation slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); 

并将其与应用到按钮:

secondaryButton.startAnimation(slideDown); 

当向上滑动,您需要设置的知名度,“水涨船高”的动画结束之后,而不是之前。为了做到这一点,你需要设置动画监听器并隐藏onAnimationEnd中的按钮:

slideUp.setAnimationListener(new AnimationListener() { 

    @Override 
    public void onAnimationEnd(Animation animation) { 
     secondaryButton.setVisibility(View.GONE); 
    } 

    @Override 
    public void onAnimationRepeat(Animation animation) {} 

    @Override 
    public void onAnimationStart(Animation animation) {} 

}); 
+1

好吧,非常好,谢谢米格尔。最后一个问题:难以实现隐藏的按钮不会突然弹出,而是会滑落。我的意思是这样的,只是按钮:http:// www。webdesignerwall.com/demo/jquery/simple-slide-panel.html – enne87

+1

我添加了动画的代码。我希望它有帮助。 –

+0

非常好,谢谢你的帮助miguel :) – enne87