我已成功在我的布局上添加了VideoView,我也可以播放它。当点击某个按钮时,我在视频视图顶部有一个很好的动画徽标。同时我想淡出视频。但是在它上面运行alpha动画会立即将其变为黑色。我发现videoview的行为与普通视图不同,因为它是表面视图。我尝试将它放在框架布局中,但它不起作用。动画看起来像这样:
AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);
alphaAnimation.setDuration(1000);
alphaAnimation.setFillAfter(true);
videoView.suspend(); //pause video
videoView.startAnimation(alphaAnimation);
那我怎么淡出视频?
答案 0 :(得分:4)
您无法为VideoView
制作动画。为什么不尝试使用TextureView
,其行为与普通View
相同。您可以在TextureView
from this answer in SO中找到如何播放视频。
答案 1 :(得分:2)
您可以在VideoView上进行淡出:
select *
from
(select TOP 100*
from(select distinct codenumber
from srv.table01)x) as a
left Join srv.table01 as b
on a.codenumber=b.codenumber
答案 2 :(得分:1)
如果您使用videoView,则不适合不适合运行aplha动画。为此,您可以使用Exoplayer。在Exoplayer中,将xml fle中的surface_type属性用作 texture_view 并运行动画。
例如:
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:surface_type="texture_view"
android:animateLayoutChanges="true"/>
val shortAnimationDuration = 1000
videoView.apply {
alpha = 0f
animate()
.alpha(1f)
.setDuration(shortAnimationDuration.toLong())
.setListener(object :AnimatorListenerAdapter(){
override fun onAnimationEnd(animation: Animator?) {
//You can add what you want to do after completing animation
}
})
}
这是淡入动画。如果要淡出,只需交换Alpha值即可。