LinearLayout 中的 ConstraintLayout 不起作用
ConstraintLayout inside LinearLayout not working
我必须以编程方式将视图(其根视图可以是任何东西)添加到 LinearLayout
中,但如果该视图是 ConstraintLayout
,它将无法按预期工作。为什么会这样,因为根据我的理解,无论其父视图是什么,子视图都必须工作。我该怎么做?
问题很简单,但我找不到解决这个问题的任何问题。
我附上屏幕截图以显示扭曲的视图:
原始视图 _____________________ 添加内部线性布局后的视图
_______
这是代码:
override fun setContentView(view: View?) {
val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false)
titleView = toolbar.findViewById(R.id.title) as TextView
val finalView = LinearLayout(this)
finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
finalView.orientation = LinearLayout.VERTICAL
finalView.addView(toolbar)
finalView.addView(view)
super.setContentView(finalView)
}
我正在覆盖 Activity 的 setContentView
函数。
事实证明,LinearLayout
里面的ConstraintLayout
没有任何问题。我只需要在添加视图时明确添加 LayoutParams
。
override fun setContentView(view: View?) {
val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false)
titleView = toolbar.findViewById(R.id.title) as TextView
val finalView = LinearLayout(this)
finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
finalView.orientation = LinearLayout.VERTICAL
finalView.addView(toolbar)
finalView.addView(view, LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT))
super.setContentView(finalView)
}
我必须以编程方式将视图(其根视图可以是任何东西)添加到 LinearLayout
中,但如果该视图是 ConstraintLayout
,它将无法按预期工作。为什么会这样,因为根据我的理解,无论其父视图是什么,子视图都必须工作。我该怎么做?
问题很简单,但我找不到解决这个问题的任何问题。
我附上屏幕截图以显示扭曲的视图:
原始视图 _____________________ 添加内部线性布局后的视图
这是代码:
override fun setContentView(view: View?) {
val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false)
titleView = toolbar.findViewById(R.id.title) as TextView
val finalView = LinearLayout(this)
finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
finalView.orientation = LinearLayout.VERTICAL
finalView.addView(toolbar)
finalView.addView(view)
super.setContentView(finalView)
}
我正在覆盖 Activity 的 setContentView
函数。
事实证明,LinearLayout
里面的ConstraintLayout
没有任何问题。我只需要在添加视图时明确添加 LayoutParams
。
override fun setContentView(view: View?) {
val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false)
titleView = toolbar.findViewById(R.id.title) as TextView
val finalView = LinearLayout(this)
finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)
finalView.orientation = LinearLayout.VERTICAL
finalView.addView(toolbar)
finalView.addView(view, LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT))
super.setContentView(finalView)
}