我有一个搜索视频的视图模型,效果很好。我添加了一个play按钮,单击后,我希望加载一个呈现VideoView的视图。搜索视图模型包含足够的数据来生成视频的URL。
呈现VideoView的最佳方法是什么?
我已经找到了这个例子,但它似乎是MvvmCross:https://gist.github.com/Alphapage/3945799的旧版本
我应该创建像N=18 - Android自定义控件- N+1 Days of MvvmCross?gdata这样的自定义控件吗?
如果我创建一个自定义控件,如何将视频的URL传递给VideoView并开始播放?
我肯定这很容易做,但我找不到一个有用的例子。
提前感谢
发布于 2014-01-06 11:44:15
您可以像Stuart一样创建自定义视图,而不是从视图继承从VideoView继承。
然后创建一个名为VideoUri的属性,一旦设置好,就在基本对象上调用SetVideoUri和start方法。例如。
请注意以下代码是用记事本编写的,因此可能需要进行一些调整:)
public class BindableVideoView : VideoView
{
private Uri _videoUri = default(Uri);
public Uri VideoUri
{
get{ return _videoUri;}
set{
if(_videoUri!=value)
{
if(base.IsPlaying)
{
base.StopPlayback();
}
}
base.SetVideoURI(value);
base.Start();
}
}
}您可以为IsPlaying公开一个属性,然后您的视图模型可以双向绑定到它,这样您的视图模型就可以知道什么时候播放完视频。
https://stackoverflow.com/questions/20939237
复制相似问题