我对开发Android应用程序非常新。现在我要做的是实现四个按钮,一旦用户点击,就像在最上面的按钮上,另外两个子按钮应该出现在点击按钮下面,其他三个按钮应该自动向下移动。 / p>
我认为我的解释不是百分之百清楚,所以我尝试用一些图像说明问题。
现在这里有四个按钮:
http://advancedata.ad.funpic.de/First-AGApp.png
一旦用户按下按钮1,就会出现两个额外的按钮,其他三个按钮应该向下移动:
http://advancedata.ad.funpic.de/Second-AgApp.png 我非常感谢有关如何实现这一点的任何建议。
谢谢, enne
答案 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) {}
});