在ConstraintLayout中布置自定义组件时,Android Studio不显示锚定点

在ConstraintLayout中布置自定义组件时,Android Studio不显示锚定点,android,android-layout,android-studio,custom-controls,kotlin-android-extensions,Android,Android Layout,Android Studio,Custom Controls,Kotlin Android Extensions,我在Android中开发了一个超级简单的自定义视图,用作通用占位符,它只显示左上角顶点到右下角顶点之间的对角线 问题是,当我尝试在ConstraintLayout中布局它时,编辑器没有显示我期望的锚定点。一个形象胜过千言万语: 如果你对Android Studio有经验,你知道如果我使用标准视图,比如按钮,而不是我的自定义视图,绿色箭头通常应该挂到灰色的“按钮”,表示垂直约束 你知道为什么Android Studio的表现不符合预期吗? 这是安卓Studio的一个bug,或者我的自定义视图遗漏

我在Android中开发了一个超级简单的自定义视图,用作通用占位符,它只显示左上角顶点到右下角顶点之间的对角线

问题是,当我尝试在ConstraintLayout中布局它时,编辑器没有显示我期望的锚定点。一个形象胜过千言万语:

如果你对Android Studio有经验,你知道如果我使用标准视图,比如按钮,而不是我的自定义视图,绿色箭头通常应该挂到灰色的“按钮”,表示垂直约束

你知道为什么Android Studio的表现不符合预期吗? 这是安卓Studio的一个bug,或者我的自定义视图遗漏了其他一些东西,比如回调方法


值得一提的是,如果我手动编辑布局XML,编写适当的约束,然后重新打开视图,它会正确显示,所有箭头都表示约束!甚至是我一开始画不出来的那张。

好的,答案很简单。为了正常工作,必须为所有组件分配
android:id
。如果
ConstraintLayout
中涉及的某些组件没有它,Android Studio就不可能设置这样的约束。这是因为约束具有这种形式:

app:layout_constraintTop_toBottomOf="<ID OF THE COMPONENT ATTACHED TO>"
app:layout_constraintTop_toBottomOf=“”
所以。。。在我的例子中,确保所有组件(无论是自定义组件还是默认组件)都有一个ID就足够了