2017-06-13 97 views
1

我想將視頻視圖的高度和寬度設置爲match_parent。我的代碼看起來如下所示。它在沒有heightwidth屬性的情況下工作,但按照以下方式進行操作會給我一個val cannot be reassigned錯誤。將Anko視圖的高度和寬度設置爲match_parent

class VideoActivityUI : AnkoComponent<VideoActivity> { 
    companion object { 
     val ID_VIDEO = 11 
    } 

    override fun createView(ui: AnkoContext<VideoActivity>) = with(ui) { 
     videoView{ 
      id = ID_VIDEO 
      height = matchParent 
      width = matchParent 
     } 
    } 
} 
+0

'videoView {=的LayoutParams OuterLayout.LayoutParams(matchParent,matchParent)...',其中'OuterLayout'是一個類這個'VideoView'周圍的佈局。 –

回答

3

你必須使用lparams設置佈局參數,像這樣的(你可以,如果你想省略明確的參數名稱):或者

videoView { 
    id = ID_VIDEO 
}.lparams (width = matchParent, height = matchParent) 

,你可以做這樣的:

videoView { 
    id = ID_VIDEO 
}.lparams { 
    height = matchParent 
    width = matchParent 
} 

Anko的相關wiki部分可以找到here


注意,你必須有你的VideoViewActivity的佈局根周圍ViewGroup它有佈局參數可用,因爲它可以讓不同的人它是否是在一個FrameLayoutLinearLayout依賴,或RelativeLayout

例如,用一個簡單的frameLayout,你的代碼應該是這樣的:

override fun createView(ui: AnkoContext<VideoActivity>) = with(ui) { 
    frameLayout { 
     videoView { 
      id = ID_VIDEO 
     }.lparams(matchParent, matchParent) 
    } 
} 
+0

這兩個都給了我一個'未解決的引用:lparams'錯誤。 – Muz

+0

想通了,更新了我的答案。 – zsmb13

+0

謝謝,這有幫助,但它不會變成全屏:http://imgur.com/a/ZPdy1 – Muz

相關問題