ボタンがクリックされたときにトリガされるアニメーションが動作していない場合、クリックすると画像が表示されているかどうかがチェックされ、アニメーションが実行されている場合はelseが実行されます。問題は、elseステートメント内のアニメーションだけが動作していることです。 logcatで条件が満たされているとif文が実行されますが、アニメーションは実行されません。どんな助けもありがたい。私else文でアニメーションが動作する唯一のものであるクリックイベントAndroidのアニメーションがisShownメソッドで動作しない
if (smsArea.isShown()) {
Animation backDoww = AnimationUtils.loadAnimation(getContext(),
R.anim.slide_out_right);
smsArea.startAnimation(slide_out_right);
smsArea.setVisibility(View.GONE);
}else{
Animation slide_in_right= AnimationUtils.loadAnimation(getContext(),
R.anim.slide_in_right);
smsArea.startAnimation(slide_in_right);
smsArea.setVisibility(View.VISIBLE);
}
に呼び出されて、次の
、もし(smsArea.isShown())でトリガされなければならない最初のアニメーションが発生することはありません。
最初にsmsAreaをGoneに設定していますが、これはonCreateではxmlではなく、xmlではデフォルトのままにしておきます。アニメーションが起こらないことを知っているelseでxmlファイルを使用していてもエラーが私のアニメーションファイルにないことがわかります。
XML
<LinearLayout
android:id="@+id/smsArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="12dp"> ..... </LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate android:duration="300" android:fromXDelta="0%" android:toXDelta="100%"/>
<alpha android:duration="300" android:fromAlpha="1.0" android:toAlpha="0.0" />