Android 我想淡出图像视图
我想通过点击它来淡出ImageView。我这样做是对的,还是有人能给我一些建议,让我做得更好? 现在我有 添加“私人”、“新”、“动画”、“淡出”和“隐藏图像”、“淡出”、“公共”均为红色。我做错了什么?我每次都有一些不好的代码,无法完成简易应用程序Android 我想淡出图像视图,android,kotlin,Android,Kotlin,我想通过点击它来淡出ImageView。我这样做是对的,还是有人能给我一些建议,让我做得更好? 现在我有 添加“私人”、“新”、“动画”、“淡出”和“隐藏图像”、“淡出”、“公共”均为红色。我做错了什么?我每次都有一些不好的代码,无法完成简易应用程序 package com.example.fairytale_quest import android.os.Bundle import android.support.v7.app.AppCompatActivity import android
package com.example.fairytale_quest
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.MotionEvent
import android.view.View
import android.view.View.OnTouchListener
import android.view.animation.AlphaAnimation
import android.view.animation.Animation
import android.widget.ImageView
import kotlinx.android.synthetic.main.activity_main5.*
class Main5Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main5)
val actionBar = supportActionBar
actionBar!!.hide()
var listener = OnTouchListener(function = { view, motionEvent ->
if (motionEvent.action == MotionEvent.ACTION_MOVE) {
view.y = motionEvent.rawY - view.height / 2
view.x = motionEvent.rawX - view.width / 2
}
true
})
private void fadeOutAndHideImage(final ImageView draggableImage)
{
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new AccelerateInterpolator());
fadeOut.setDuration(1000);
fadeOut.setAnimationListener(new AnimationListener()
{
public void onAnimationEnd(Animation animation)
{
draggableImage.setVisibility(View.GONE);
}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationStart(Animation animation) {}
});
draggableImage.startAnimation(fadeOut);
}
draggableImage.setOnTouchListener(listener)
draggableImage2.setOnTouchListener(listener)
}
}
}
关于这个答案: 将代码中的img.setVisibility(View.GONE)替换为对fadeOutAndHideImage(img)的调用,该调用的定义如下:
private void fadeOutAndHideImage(final ImageView img)
{
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new AccelerateInterpolator());
fadeOut.setDuration(1000);
fadeOut.setAnimationListener(new AnimationListener()
{
public void onAnimationEnd(Animation animation)
{
img.setVisibility(View.GONE);
}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationStart(Animation animation) {}
});
img.startAnimation(fadeOut);
}
它将首先应用淡出动画,然后隐藏图像视图
KOTLIN
private fun fadeOutAndHideImage(img: ImageView) {
val fadeOut = AlphaAnimation(1F, 0F)
fadeOut.setInterpolator(AccelerateInterpolator())
fadeOut.setDuration(1000)
fadeOut.setAnimationListener(object: Animation.AnimationListener {
override fun onAnimationEnd(animation:Animation) {
img.setVisibility(View.GONE)
}
override fun onAnimationRepeat(animation:Animation) {}
override fun onAnimationStart(animation:Animation) {}
})
img.startAnimation(fadeOut)
}
非常感谢。是科特林密码吗?我只是想知道,如果我在Kotlin中转换它,它会工作吗?它在java中,但没有太大的区别。是的,它会100%工作你能帮我用kotlin写吗?哇,谢谢你。。。看看android studio是如何在kotlin中转换它的(我编辑了我的问题并添加了它)请不要在评论部分发垃圾邮件我会尽快在我的答案中发布kotlin代码要快速改进动画方面,只需将在父布局中。父布局是连接其他布局的布局?是的,aka容器,如
ConstantLayout
,RelativeLayout
等。有人给我代码,但它是java。我改了信仰,得到了一些丑陋的东西,我无法理解。你能帮助我吗?