Ron*_*nie 5 android subclass mediacontroller
我正在使用a VideoView和MediaController 我正在处理的应用程序.我只是想把它MediaController放在我的上面,VideoView但显然你不能轻易做到这一点.我试图将这个setAnchorView方法用于我的VideoViewid,但这不起作用.无论我做什么,MediaController它总是在我的屏幕底部.
话虽如此,我做了一些研究,看起来好像我要扩展MediaController,我可以改变位置和其他属性.我创建了一个新类:
package com.dop.mobilevforum;
import android.content.Context;
import android.widget.MediaController;
public class VFPlayer extends MediaController
{
public VFPlayer(Context context)
{
super(context);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的父类中:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.vforum);
controller = new VFPlayer(this);
vidPlayer = (VideoView) findViewById(R.id.vidPlayer);
vidPlayer.setMediaController(controller);
}
Run Code Online (Sandbox Code Playgroud)
它上面的工作正常,我的默认设置MediaController仍然会弹出并具有所有相同的功能.现在的问题是,如何从我的VFPlayer班级内部重新定位控制器?

Jus*_*ler 17
控制MediaController位置的首选方法是通过setAnchorView.不幸的是,每当加载新视频时,VideoView似乎都会将此值覆盖为其自身的父视图.为了反击这一点,像下面这样的类应该起作用
public class ConstantAnchorMediaController extends MediaController
{
public ConstantAnchorMediaController(Context context, View anchor)
{
super(context);
super.setAnchorView(anchor);
}
@Override
public void setAnchorView(View view)
{
// Do nothing
}
}
Run Code Online (Sandbox Code Playgroud)
一旦你这样做,你可以使用这个MediaController将Anchor设置为你想要的任何视图,而不用担心你的VideoView改变它.在那之后,它只是在正确的地方获得一个视图来锚定它.
| 归档时间: |
|
| 查看次数: |
9086 次 |
| 最近记录: |