时间:2022-10-17 11:20:51 | 栏目:Android代码 | 点击:次
本文实例为大家分享了Android studio实现动态背景页面的具体代码,供大家参考,具体内容如下
第一步:
在res目录下创建raw文件夹,并把想要导入的视频放在里面
可以用格式工厂先把视频格式化,以免视频内存过大无法运行。
第二步:配置页面布局xml文件
1.在activity_main.xml文件里加入以下代码:
//放在大布局框架里 android:fitsSystemWindows="true" //放在布局框架内 <com.example.lovestoryapp.CustomVideoView android:id="@+id/videoview" android:layout_width="match_parent" android:layout_height="match_parent" />
2.在layout文件夹里创建videoview.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <VideoView android:id="@+id/videoview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="-150dp" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_alignParentTop="true" /> </RelativeLayout>
第三步:配置java文件
1.创建java文件 CustomVideoView.java
package com.example.lovestoryapp; import android.content.Context; import android.media.MediaPlayer; import android.util.AttributeSet; import android.view.KeyEvent; import android.widget.VideoView; public class CustomVideoView extends VideoView { public CustomVideoView(Context context) { super(context); } public CustomVideoView(Context context, AttributeSet attrs) { super(context, attrs); } public CustomVideoView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //我们重新计算高度 int width = getDefaultSize(0, widthMeasureSpec); int height = getDefaultSize(0, heightMeasureSpec); setMeasuredDimension(width, height); } @Override public void setOnPreparedListener(MediaPlayer.OnPreparedListener l) { super.setOnPreparedListener(l); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event); } }
2.在MainActivity.java的Activity方法中加入以下代码
//找VideoView控件 customVideoView = (CustomVideoView)findViewById(R.id.videoview); //加载视频文件 customVideoView.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.shipin1)); //播放 customVideoView.start(); //循环播放 customVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaPlayer) { customVideoView.start(); } }); }
第四步:运行至模拟器