本文主要是介绍自定义videoview实现全屏播放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近的项目中需要横屏播放视频的功能,本来是想通过设置videoview宽高的方式来实现,不过后来发现效果不佳,遂决定自定义一个videoview来解决这个问题。
代码如下:
自定义view:
package com.sac.widget;import android.R.integer;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView;public class MyVideoView extends VideoView {public MyVideoView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);// TODO Auto-generated constructor stub}public MyVideoView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public MyVideoView(Context context) {super(context);// TODO Auto-generated constructor stub}@Overrideprotected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){int width = getDefaultSize(0, widthMeasureSpec);int height = getDefaultSize(0, heightMeasureSpec);setMeasuredDimension(height, width);}}
主界面:
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);width = dm.widthPixels;height = dm.heightPixels;Log.v("width", width+"");Log.v("height", height+"");LayoutParams lp = videoView.getLayoutParams();lp.width = height;lp.height = width;videoView.setLayoutParams(lp);
不要忘记在xml中引用自定义view。
这样就大功告成了
这篇关于自定义videoview实现全屏播放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!