android VideoView視訊引導頁
阿新 • • 發佈:2019-02-07
一個好玩的android原生控制元件,現在很多APP都在使用,例如滴滴打車。但是呢,有點小問題就是不能全屏播放,所以我們可以自定義實現全屏播放的功能,程式碼很簡單,頁面很絢麗,可以自己錄製視訊當做引導頁面,2個字:炫酷!~話不多說,看程式碼。
1、建立一個raw包存放要播放的視訊檔案,最好是小視訊或者壓縮以後的視訊,解析度不用太高,否則記憶體低的手機會報記憶體溢位。最好是自己用手機錄一個。哈哈
2、建立自定義CustomVideoView
5、沒了。。執行吧。
3、MainActivity: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 defStyleAttr) { super(context, attrs, defStyleAttr); } protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //我們重新計算高度(這樣就可以匹配不同手機的尺寸) int width = getDefaultSize(0, widthMeasureSpec); int height = getDefaultSize(0, heightMeasureSpec); setMeasuredDimension(width, height); } }
4、 activity_main佈局中:public class MainActivity extends AppCompatActivity { private CustomVideoView vv; private Button btn_start; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vv = (CustomVideoView) findViewById(R.id.videoview); btn_start = (Button) findViewById(R.id.btn); initView(); } private void initView() { //設定播放載入路徑 vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.info2)); //播放 vv.start(); //迴圈播放 vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mediaPlayer) { vv.start(); } }); } public void onClick(View view) { switch (view.getId()){ case R.id.btn_start: Toast.makeText(this,"進入了主頁",Toast.LENGTH_SHORT).show(); break; } } }
<mifeng.us.mp4.CustomVideoView //替換成自己的包名 android:id="@+id/videoview" android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/btn" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="56dp" android:text="進入"/>
5、沒了。。執行吧。