Android动画要实现点击按钮后将已定义好的View布局逐渐展开显示,并再次点击后慢慢缩回去。可以使用动画来实现。以下是一种可能的实现方式:
首先,您可以在您的Activity中定义一个用于展示和隐藏的布尔变量isExpanded
。初始时,将其设为false
。
在点击按钮的点击监听器中,您可以根据isExpanded
的值来切换展开和隐藏布局的状态。如果isExpanded
为false
,则通过动画逐渐展开布局,并将isExpanded
设为true
;如果isExpanded
为true
,则通过动画逐渐隐藏布局,并将isExpanded
设为false
。
下面是一个示例代码:
private boolean isExpanded = false;
private void expandCollapseLayout() {
View layout = findViewById(R.id.your_layout); // 根据您的布局ID来获取布局视图
if (isExpanded) {
// 隐藏布局
layout.animate()
.translationY(0)
.alpha(0)
.setDuration(300)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
layout.setVisibility(View.GONE);
isExpanded = false;
}
});
} else {
// 展开布局
layout.setVisibility(View.VISIBLE);
layout.setAlpha(0);
layout.animate()
.translationY(0)
.alpha(1)
.setDuration(300)
.setListener(null);
isExpanded = true;
}
}
private void setupButton() {
Button button = findViewById(R.id.your_button); // 根据您的按钮ID来获取按钮视图
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
expandCollapseLayout();
}
});
}
在上面的代码中,expandCollapseLayout()
方法用来展开和隐藏已定义的布局。setupButton()
方法用来设置按钮的点击监听器。您需要将R.id.your_layout
替换为您实际布局的ID,将R.id.your_button
替换为您实际按钮的ID。
这样,每次点击按钮时,已定义的布局将逐渐展开或缩回。