我正在尝试通过在单击第一个图像时调用方法来交叉淡化两个ImageView,然后我们淡入第二个图像(最初的alpha设置为0),然后我想在点击后淡入第一个图像在第二张图片上。 它只使用一种方法从一个图像交叉淡化到另一个图像时有效,但是当我添加另一个方法交叉淡化回到上一个图像时,单击图像时没有任何反应。
<select>
答案 0 :(得分:0)
也许您应该考虑将两者声明为Fields,在onCreate()/ onResume()中只声明一次,并编写一个同时提供这两者的交叉渐变方法:
public class MainActivity extends AppCompatActivity {
private ImageView naruto, narutosage;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
naruto =(ImageView) findViewById(R.id.naruto);
narutosage =(ImageView) findViewById(R.id.narutosage);
}
public void crossfade(View fadeIn, View fadeOut) {
fadeIn.animate().alpha(1).setDuration(2000);
fadeOut.animate().alpha(0).setDuration(2000);
}
}
在你的Button onClicks中你只需要打电话:
crossfade(naruto, narutosage);
或
crossfade(narutosage, naruto);