私は、ボタンのすぐ下にボタンと隠しボタンがある単純なプログラムを作成しようとしています。ユーザーが最初のボタンをクリックすると、2番目のボタンが滑らかなアニメーションを使用して表示されます。Android Fade In、Fade Outアニメーションの問題
以下最初時間:ユーザーはもう一度最初のボタンをクリックすると、第二ボタンがスムーズに私が登場すると消えるアクションをアニメーション化するAlpha Animationを使用していますが、私は次の問題に実行していますなど、消えますボタンをクリックすると、何も起こりません。もう一度ボタンをクリックすると、それが表示され、瞬時に消えます。ボタンの3番目のをクリックすると、「フェードイン」モーションがスムーズにアニメーション化されます。
:私はそれを第四の時間をクリックすると、それがスムーズに、「フェードアウト」運動などをアニメーション化してから...
は、この単純なプログラムのコードです
public class MainActivity extends AppCompatActivity {
public Button toggleButton;
public Button helloButton;
public boolean isVisible = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helloButton = (Button)findViewById(R.id.helloButton);
toggleButton = (Button)findViewById(R.id.toggleButton);
toggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!isVisible) {
//helloButton.setVisibility(View.VISIBLE);
AlphaAnimation fadeInAnimation = new AlphaAnimation(0, 1); // start alpha, end alpha
fadeInAnimation.setDuration(250); // time for animation in milliseconds
fadeInAnimation.setFillAfter(true); // make the transformation persist
fadeInAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
helloButton.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationStart(Animation animation) {
helloButton.setVisibility(View.GONE);
}
});
helloButton.startAnimation(fadeInAnimation);
isVisible = true;
System.out.println("Button is invisible... Time to Fade IN");
}
else {
//helloButton.setVisibility(View.GONE);
AlphaAnimation fadeOutAnimation = new AlphaAnimation(1, 0); // start alpha, end alpha
fadeOutAnimation.setDuration(250); // time for animation in milliseconds
fadeOutAnimation.setFillAfter(true); // make the transformation persist
fadeOutAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
helloButton.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationStart(Animation animation) {
helloButton.setVisibility(View.VISIBLE);
}
});
helloButton.startAnimation(fadeOutAnimation);
isVisible = false;
System.out.println("Button is visible... Time to Fade OUT");
}
}
});
}
}
私はこれがとてもシンプルな感じです。しかし、これは私がアンドロイド開発でアニメーションを遭遇したのは初めてです。どんな提案やアドバイスも大歓迎です!