2017-06-13 121 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

相关问题