Android-向下移动内容

时间:2012-06-07 11:09:51

标签: android android-layout button

我对开发Android应用程序非常新。现在我要做的是实现四个按钮,一旦用户点击,就像在最上面的按钮上,另外两个子按钮应该出现在点击按钮下面,其他三个按钮应该自动向下移动。 / p>

我认为我的解释不是百分之百清楚,所以我尝试用一​​些图像说明问题。

现在这里有四个按钮:

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


一旦用户按下按钮1,就会出现两个额外的按钮,其他三个按钮应该向下移动:

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

谢谢, enne

1 个答案:

答案 0 :(得分:1)

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

android:visibility="gone"

单击主按钮时应显示的按钮。然后,您可以使用以下行在主按钮的OnClickListener中显示这些按钮:

button.setVisibility(View.VISIBLE);

其中button是代码中布局的引用。

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

编辑:

要向流程添加动画,您必须向上/向下滑动显示的新按钮和下方的按钮。 (将视图分组到Layouts中,以便更容易应用动画)。

您需要在res / anim文件夹中创建两个XML文件:

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) {}

});