Android?studio實現(xiàn)動態(tài)背景頁面
本文實例為大家分享了Android studio實現(xiàn)動態(tài)背景頁面的具體代碼,供大家參考,具體內(nèi)容如下
第一步:
在res目錄下創(chuàng)建raw文件夾,并把想要導入的視頻放在里面
可以用格式工廠先把視頻格式化,以免視頻內(nèi)存過大無法運行。
第二步:配置頁面布局xml文件
1.在activity_main.xml文件里加入以下代碼:

//放在大布局框架里 android:fitsSystemWindows="true" //放在布局框架內(nèi) ? ?<com.example.lovestoryapp.CustomVideoView ? ? ? ? android:id="@+id/videoview" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="match_parent" />
2.在layout文件夾里創(chuàng)建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.創(chuàng)建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();
? ? ? ? //循環(huán)播放
? ? ? ? customVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onCompletion(MediaPlayer mediaPlayer) {
? ? ? ? ? ? ? ? customVideoView.start();
? ? ? ? ? ? }
? ? ? ? });
?
? ? }第四步:運行至模擬器
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Flutter?webview與網(wǎng)頁通訊交互實現(xiàn)
最近要在Flutter項目的基礎上加一個實時定位的功能,下面這篇文章主要給大家介紹了關于Flutter?webview與網(wǎng)頁通訊交互實現(xiàn)的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-04-04
超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼
這篇文章主要介紹了超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
LayoutAnimation給ListView中的item設置動態(tài)出場效果(實例)
下面小編就為大家?guī)硪黄狶ayoutAnimation給ListView中的item設置動態(tài)出場效果(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

