2014-01-05 32 views
0

我有一個用於搜索視頻效果很好的視圖模型。我添加了一個播放按鈕,點擊後我想加載一個呈現VideoView的視圖。搜索視圖模型包含足夠的數據來生成視頻的URL。如何使用MvvmCross Droid創建自定義控件VideoView

呈現VideoView的最佳方式是什麼?

我發現這個例子,但它似乎是一箇舊版本MvvmCross的: https://gist.github.com/Alphapage/3945799

我應該創建自定義控制像N = 18 - Android的自定義控件 - N + MvvmCross的1天? http://www.youtube.com/watch?v=s1LhXdCTsn4&feature=youtube_gdata

如果我創建一個自定義控件,我應該如何將視頻的URL傳遞給VideoView並開始播放?

我相信這很容易做,但我找不到一個工作的例子。

在此先感謝

回答

2

您可以創建一個自定義視圖斯圖爾特做,但不是從View繼承了VideoView繼承。

然後創建一個名爲VideoUri的屬性,當它被設置時,調用SetVideoUri並在基礎對象上啓動方法。例如。

請注意下面的代碼寫在記事本中,所以可能需要一些調整:)

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模塊,然後您的視圖模型能雙向綁定到該如此您的視角模型會知道您何時完成播放視頻

相關問題