我想将视频视图的高度和宽度设置为match_parent
。我的代码看起来如下所示。它在没有height
和width
属性的情况下工作,但如下所示,我会发现val cannot be reassigned
错误。
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 :(得分:4)
您必须使用lparams
来设置布局参数,如果您愿意,可以省略显式参数名称:
videoView {
id = ID_VIDEO
}.lparams (width = matchParent, height = matchParent)
或者,你可以这样做:
videoView {
id = ID_VIDEO
}.lparams {
height = matchParent
width = matchParent
}
可以找到Anko的相关维基部分here。
请注意,您必须在ViewGroup
周围VideoView
作为Activity
布局的根,才能获得布局参数,因为它取决于不同的布局参数是在FrameLayout
,LinearLayout
还是RelativeLayout
。
例如,使用简单的frameLayout
,您的代码将如下所示:
override fun createView(ui: AnkoContext<VideoActivity>) = with(ui) {
frameLayout {
videoView {
id = ID_VIDEO
}.lparams(matchParent, matchParent)
}
}