前言
代码实现VideoView在父窗体居中 在添加view之前 设置view在父窗体的位置
因为videoview是用代码加载url 实现视频播放的 没有用xml设置VideoView的布局文件 所以无法设置视频居中 那怎么办呢? 查了资料 查到RelativeLayout.LayoutParams 有居中父窗体的方法 而RelativeLayout. 又是ViewGroup的子类 刚好是我需要的!
kotlin
val rlp = RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
)
rlp.addRule(RelativeLayout.CENTER_IN_PARENT)
rootView?.addView(videoView, 0, rlp)
每次滑动视频的时候 都会移除和添加视频 所以在这个时候我们处理视频的显示位置和大小尺寸
实现代码
private fun detachParentView(rootView: ViewGroup?) {
if (videoView?.parent is ViewGroup) {
val parent = videoView?.parent as ViewGroup
parent.removeView(videoView)
}
val rlp = RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
)
rlp.addRule(RelativeLayout.CENTER_IN_PARENT)
rootView?.addView(videoView, 0, rlp)
}
实现效果
|