我想创建新的自定义Button
类,无论何时用户转到任何活动,我的通用按钮都要从圆圈扩展到默认宽度。在扩展时我想隐藏按钮文本,直到按钮动画完成。
请检查我的以下代码:
private void animateMe(Context context){
final String btnText = this.getText().toString();
final FIButton fiButton = this;
fiButton.setText("");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
fiButton.setText(btnText);
}
},500);
Animation animation = AnimationUtils.loadAnimation(context,
R.anim.expand);
super.startAnimation(animation);
}
答案 0 :(得分:3)
轻松
ViewCompat.animate(fiButton ).setStartDelay(500).alpha(1).setDuration(700).setInterpolator(new DecelerateInterpolator(1.2f)).start();
请注意,您必须将fiButton alpha设置为零android:alpha="0.0"
在你的xml或创建视图
此行将在500毫秒后在700毫秒内将视图从0设置为1。
答案 1 :(得分:0)
您可以使用AnimationListener
。完成动画后,您应该setText
上的TextView
。
private void animateMe(Context context){
final String btnText = this.getText().toString();
final FIButton fiButton = this;
fiButton.setText("");
Animation animation = AnimationUtils.loadAnimation(context, R.anim.expand);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
fiButton.setText("");
}
@Override
public void onAnimationEnd(Animation animation) {
fiButton.setText(btnText);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
super.startAnimation(animation);
}