最初の画像がクリックされたときにメソッドを呼び出すと2つのImageViewをクロスフェードしようとしていて、2番目の画像にフェードインします第2の画像をクリックした後、第1の画像にフェードインする。 1つの方法で1つの画像をクロスフェードするときに機能しますが、他の方法を追加して前の画像にクロスフェードすると、画像をクリックしても何も起こりません。2つの関数を使って2つのImageViewをクロスフェードする
public class MainActivity extends AppCompatActivity {
public void narutoFade(View view){
ImageView naruto =(ImageView) findViewById(R.id.naruto);
ImageView narutosage =(ImageView) findViewById(R.id.narutosage);
naruto.animate().alpha(0f).setDuration(2000);
narutosage.animate().alpha(1f).setDuration(2000);
}
public void narutoSageFade(View view) {
ImageView naruto2 = (ImageView) findViewById(R.id.naruto);
ImageView narutosage2 = (ImageView) findViewById(R.id.narutosage);
narutosage2.animate().alpha(0f).setDuration(2000);
naruto2.animate().alpha(1f).setDuration(2000);
}
}
'TransitionDrawable'を使用すると、第1層と第2層の間でクロスフェードするLayerDrawablesの拡張です。トランジションを開始するには、startTransition(int)を呼び出します。最初のレイヤーだけを表示するには、resetTransition()を呼び出します。 – pskink
これは別の方法ですが、詳細が必要です。おかげでたくさん! – Ibou92