我试图在Android中创建嵌套的ConstraintLayout。
目标是在左边有一个图像,在约束布局中右边有另一个约束布局,如下图所示:
它在预览中正确显示,但在应用程序内部,它存在缺陷并且根本没有显示 http://www.riverbankcomputing.com/software/sip/download
布局文件:
result
使用代码
将布局添加到另一个ConstraintLayoutresult.reset_index()
我该如何解决这个问题?甚至,问题是什么?
答案 0 :(得分:2)
面临的情况是OP试图以编程方式将创建的ConstraintLayout添加到另一个ConstraintLayout。这是使用
制作的inflater.inflate(R.layout.box, null)
这是一种不正确的方法,因为这会忽略框中的布局参数。为解决这个问题做了什么
inflater.inflate(R.layout.box, PARENT_LAYOUT/* One that box was being added to*/)
这解决了一些问题,因为父布局现在正在考虑布局参数。
答案 1 :(得分:2)
对于每个内部ConstraintLayout的子视图,请使用父布局的ID而不是“父”布局的ID。 例如,代替:
app:layout_constraintTop_toTopOf="parent"
使用
app:layout_constraintTop_toTopOf="@+id/parent_id"