登录布局就略过了。。。

关键是自定义了一下videoview并加载作为布局的背景。

package com.yinlei.videoviewloginimport android.content.Contextimport android.media.MediaPlayerimport android.util.AttributeSetimport android.view.KeyEventimport android.view.Viewimport android.widget.VideoViewclass CustomVideoView : VideoView{    constructor(context: Context?) : this(context,null)    constructor(context: Context?,attrs: AttributeSet?) : this(context,attrs,0)    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {        //重新计算高度        val width = getDefaultSize(0,widthMeasureSpec)        val height = getDefaultSize(0,heightMeasureSpec)        setMeasuredDimension(width,height)    }    override fun setOnPreparedListener(l: MediaPlayer.OnPreparedListener?) {        super.setOnPreparedListener(l)    }    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {        return super.onKeyDown(keyCode, event)    }}
package com.yinlei.videoviewloginimport android.media.MediaPlayerimport android.net.Uriimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.widget.Toastimport kotlinx.android.synthetic.main.activity_main.*class MainActivity : AppCompatActivity() {    val uriStrings = arrayListOf()    var i = 0    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        uriStrings.add("android.resource://$packageName/${R.raw.one}")        uriStrings.add("android.resource://$packageName/${R.raw.two}")        //加载视频文件        customVideoView.setVideoURI(Uri.parse(uriStrings[i]))        //播放        customVideoView.start()        i++        //监听播放状态        customVideoView.setOnCompletionListener {            customVideoView.setVideoURI(Uri.parse(uriStrings[i]))            if(i==0){                i += 1            }else{                i=0            }            customVideoView.start()        }//因为只有一个默认的接口方法,所以用Lambda//        customVideoView.setOnCompletionListener(object: MediaPlayer.OnCompletionListener{//            override fun onCompletion(mp: MediaPlayer?) {//            }//        })    }}

 

<?xml version="1.0" encoding="utf-8"?>        

在activity代码中,简单的准备2 个视频,并循环加载播放他们。

Android: VideoView做背景仿常见APP登录动态页面_第1张图片

加载raw文件夹下的资源(raw名不能写错了):

 uriStrings.add("android.resource://$packageName/${R.raw.one}") //加载视频文件  customVideoView.setVideoURI(Uri.parse(uriStrings[i]))       

Android: VideoView做背景仿常见APP登录动态页面_第2张图片

 

 

 

 

 

 

更多相关文章

  1. 控件布局_FrameLayout(网格布局)
  2. listView显示多种布局 android
  3. Android Animation 为布局添加动画效果
  4. android 开发 RecyclerView 横排列列表布局
  5. 增加滚动布局
  6. android 加载 .gif 并一直刷新
  7. Android 四大组件+五大布局
  8. 在Android平台上加载本地库的危险性

随机推荐

  1. Android(安卓)Vibrator 的用法
  2. Android:UI控件AutoCompleteTextView、Mul
  3. Android(安卓)使用Javascript作为脚本计
  4. 使用Uiautomator遇到的问题
  5. Android设备兼容性 1
  6. Android(安卓)Studio安装及首次运行遇到
  7. 百度云推送实践
  8. android中使用zxing扫描二维码以及条形码
  9. Android的安装过程
  10. Android(安卓)AsyncTask 原理及Java多线