我正在制作显示某些位置并在点生成函数调用时开始淡出的UI。但是,当出现淡出点时,当从入站通信中调用另一个函数调用时,点消失。如何防止现有动画消失?
我想尝试在每个函数调用(例如Thread)失败时创建一些区域来绘制新动画。
这是代码,接收数据时,侦听器调用DrawRxData。 如果函数调用,请绘制并开始动画。
DrawRxData.kt
fun DrawRxData (activity: Activity, rxData: RxData) {
val v : View = activity.findViewById(R.id.DrawRx)
val iv : ImageView = v as ImageView
val listView : GridView = activity.findViewById(R.id.list_view)
var bitmap = Bitmap.createBitmap(v.measuredWidth, v.measuredHeight, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
val paint = Paint(Paint.ANTI_ALIAS_FLAG)
...
...
canvas.drawCircle(Xr.toFloat(), Yr.toFloat(), 60F, circPaint)
val an = AlphaAnimation(1.0f, 0.0f)
an.duration = 10000
an.fillAfter = true
iv.alpha = 1f
...
...
activity.runOnUiThread(java.lang.Runnable {
iv.setImageBitmap(bitmap)
iv.startAnimation(an)
listView.adapter = adapter
listView.setSelection(idx)
listView.invalidate()
})
return
}
在C#服务器程序中,我通过添加画布子代轻松实现了目标。但它在Android中的工作方式似乎有所不同。我可以获取解决方案或代码的链接吗?
答案 0 :(得分:0)
我通过添加以下代码实现了
val v : View = activity.findViewById(R.id.DrawRx)
val iv : ImageView = v as ImageView
...
...
var nv : ImageView
nv = ImageView(iv.context)
addContentView
activity.runOnUiThread(java.lang.Runnable {
nv.setImageBitmap(bitmap)
nv.startAnimation(an)
activity.addContentView(nv, params)
...
})
params
是
var params = ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.WRAP_CONTENT)