【Android-视频播放】实用vitamio自定义控制条位置
在开发中,用到了视频播放的功能,看到网上现成的开源的Vitamio已经很成熟了。就本着拿来主义直接实用了。
但是播放中实用的进度条的位置有时候跟自己需求不是那么一致。
下面是教程
1.首先修改Vitamio中MediaController类,在此类中新加一个构造函数,代码如下:
public MediaController(Context context,boolean fromXml,View container) { super(context); initController(context); mFromXml = fromXml; mRoot = makeControllerView();
//这个地方的FrameLayout.LayoutpParams是因为布局文件中要把MediaController的视图作为childView加到一个FrameLayout中去 FrameLayout.LayoutParams p = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);//想怎样布局MediaController就尽情的发挥这个LayoutParams吧 p.gravity = Gravity.BOTTOM; mRoot.setLayoutParams(p); ((FrameLayout)container).addView(mRoot); }
此方法中用到的所有字段都是本来就有的,没有新加任何代码
2.定义播放视频的XML布局文件,代码如下:
<FrameLayout android:id="@+id/ll" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/black" android:orientation="vertical" > <io.vov.vitamio.widget.CenterLayout android:id="@+id/cl" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/black" > <io.vov.vitamio.widget.VideoView android:id="@+id/vv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> </io.vov.vitamio.widget.CenterLayout> </LinearLayout> </FrameLayout>
3.Activity中使用
/**
*第一个参数:当前上下文
*第二个参数:一定要为TRUE,就是为了在MediaController中执行某些代码
*第三个参数:把控制器添加到哪个View中去
*/
MediaController mc = new MediaController(this,true,llVideo); vv.setMediaController(mc); mc.setVisibility(View.GONE);//此操作是为了解决打开视频的时候控制条不走动,需要点击下视频才走动的问题。这样默认情况下用户看不到进度条,当点击视频的时候就可以看到正在走动的进度条了。
希望可以帮到一些人
【玩】
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。