首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MvvmCross Droid VideoView创建自定义控件

如何使用MvvmCross Droid VideoView创建自定义控件
EN

Stack Overflow用户
提问于 2014-01-05 21:11:54
回答 1查看 792关注 0票数 0

我有一个搜索视频的视图模型,效果很好。我添加了一个play按钮,单击后,我希望加载一个呈现VideoView的视图。搜索视图模型包含足够的数据来生成视频的URL。

呈现VideoView的最佳方法是什么?

我已经找到了这个例子,但它似乎是MvvmCross:https://gist.github.com/Alphapage/3945799的旧版本

我应该创建像N=18 - Android自定义控件- N+1 Days of MvvmCross?gdata这样的自定义控件吗?

如果我创建一个自定义控件,如何将视频的URL传递给VideoView并开始播放?

我肯定这很容易做,但我找不到一个有用的例子。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-06 11:44:15

您可以像Stuart一样创建自定义视图,而不是从视图继承从VideoView继承。

然后创建一个名为VideoUri的属性,一旦设置好,就在基本对象上调用SetVideoUri和start方法。例如。

请注意以下代码是用记事本编写的,因此可能需要进行一些调整:)

代码语言:javascript
运行
复制
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公开一个属性,然后您的视图模型可以双向绑定到它,这样您的视图模型就可以知道什么时候播放完视频。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20939237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档