将 Anko 视图的高度和宽度设置为 match_parent
Setting height and width of an Anko view to match_parent
我想将视频视图的高度和宽度设置为 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
}
}
}
您必须使用 lparams
来设置布局参数,如下所示(如果您愿意,可以省略显式参数名称):
videoView {
id = ID_VIDEO
}.lparams (width = matchParent, height = matchParent)
或者,您可以这样做:
videoView {
id = ID_VIDEO
}.lparams {
height = matchParent
width = matchParent
}
可以找到 Anko 的相关 wiki 部分 here。
请注意,您的 VideoView
周围必须有一个 ViewGroup
作为 Activity
布局的根,因为它有不同的布局参数取决于它是在 FrameLayout
、LinearLayout
还是 RelativeLayout
.
中
例如,使用简单的 frameLayout
,您的代码将如下所示:
override fun createView(ui: AnkoContext<VideoActivity>) = with(ui) {
frameLayout {
videoView {
id = ID_VIDEO
}.lparams(matchParent, matchParent)
}
}
我想将视频视图的高度和宽度设置为 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
}
}
}
您必须使用 lparams
来设置布局参数,如下所示(如果您愿意,可以省略显式参数名称):
videoView {
id = ID_VIDEO
}.lparams (width = matchParent, height = matchParent)
或者,您可以这样做:
videoView {
id = ID_VIDEO
}.lparams {
height = matchParent
width = matchParent
}
可以找到 Anko 的相关 wiki 部分 here。
请注意,您的 VideoView
周围必须有一个 ViewGroup
作为 Activity
布局的根,因为它有不同的布局参数取决于它是在 FrameLayout
、LinearLayout
还是 RelativeLayout
.
例如,使用简单的 frameLayout
,您的代码将如下所示:
override fun createView(ui: AnkoContext<VideoActivity>) = with(ui) {
frameLayout {
videoView {
id = ID_VIDEO
}.lparams(matchParent, matchParent)
}
}