0
LinearLayout
에 프로그래밍 방식으로 뷰 (루트 뷰가 될 수 있음)를 추가해야하지만 뷰가 ConstraintLayout
인 경우 예상대로 작동하지 않습니다. 내 이해에 따르면, 하위 뷰는 부모 뷰가 무엇인지에 관계없이 작동해야하기 때문에 왜 이런 현상이 발생합니다. 이 작업을 어떻게 수행합니까?LinearLayout 내부의 ConstraintLayout이 작동하지 않습니다.
문제는 매우 간단하지만이 문제를 해결하는 질문을 찾을 수 없습니다. 나는 왜곡 된보기를 표시하는 스크린 샷을 첨부하고
:
원래보기 _____________________을 VIEW 여기 _______
그리고
코드입니다 INSIDE 선형 레이아웃을 추가 한 후 :
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)
}
활동의 setContentView
기능을 재정의했습니다.
finalView.addView (보기)를 수행 할 때 명시 적으로 LayoutParams를 설정 했습니까? 나머지 공간을 모두 차지하도록 1의 가중치를 부여 할 수도 있습니다. ** 편집 ** : 실제로, 나는 LinearLayoutParams.weight = 1이 당신이 원하는 것을 확실히 알고있다. – mbonnin
무게? 나는 그것을 정말로 시도해야합니까? 체중이 'ConstraintLayout'이'LinearLayout'에서 재미있는 이유가 무엇인지와 아무런 관련이 없기 때문입니다. –
@mbonnin 남자 당신은 아름다움! 그것은 효과가 있었다. 가중치가 아니라, AddingView를 명시 적으로 설정하는'LayoutParams' –