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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Flutter?webview與網(wǎng)頁通訊交互實現(xiàn)
最近要在Flutter項目的基礎(chǔ)上加一個實時定位的功能,下面這篇文章主要給大家介紹了關(guān)于Flutter?webview與網(wǎng)頁通訊交互實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-04-04超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼
這篇文章主要介紹了超簡單Android集成華為HMS Scankit 掃碼SDK實現(xiàn)掃一掃二維碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03LayoutAnimation給ListView中的item設(shè)置動態(tài)出場效果(實例)
下面小編就為大家?guī)硪黄狶ayoutAnimation給ListView中的item設(shè)置動態(tài)出場效果(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10