1. layout_constraintHorizontal_chainStyle:packed
< wtcl.lib.widget.WTButton
android: id= " @+id/confirm_btn"
style = " @style/WTTextStyleBody2 "
android: layout_width= " @dimen/dimen_384px"
android: layout_height= " @dimen/search_edit_height"
android: layout_marginBottom= " @dimen/dimen_64px"
android: background= " @drawable/selector_btn_status"
android: color= " @drawable/selector_text_status"
android: enabled= " false"
android: gravity= " center"
android: maxLines= " 1"
android: text= " @string/protocol_and_policy_agree"
app: layout_constraintBottom_toBottomOf= " parent"
app: layout_constraintEnd_toStartOf= " @+id/think_btn"
app: layout_constraintHorizontal_chainStyle= " packed"
app: layout_constraintStart_toStartOf= " parent"
app: wtBtnType= " primaryBtn_small" />
< wtcl.lib.widget.WTButton
android: id= " @+id/think_btn"
style = " @style/WTTextStyleBody2 "
android: layout_width= " @dimen/dimen_384px"
android: layout_height= " @dimen/search_edit_height"
android: layout_marginStart= " @dimen/search_edit_height"
android: ellipsize= " end"
android: gravity= " center"
android: maxLines= " 1"
android: text= " @string/protocol_and_policy_think_again"
android: textColor= " @color/white89"
android: textSize= " @dimen/dimen_32px"
app: layout_constraintBottom_toBottomOf= " @+id/confirm_btn"
app: layout_constraintEnd_toEndOf= " parent"
app: layout_constraintStart_toEndOf= " @+id/confirm_btn"
app: wtBtnType= " primaryBtn_small" />
核心点:
app:layout_constraintHorizontal_chainStyle="packed"
按钮的左右约束(layout_constraintStart_toStartOf、layout_constraintEnd_toEndOf
)、按钮间的依赖(layout_constraintEnd_toStartOf、layout_constraintStart_toEndOf
)必须一个不落
2.参数解释
2.1 clipChild
2.2 fadingEdge、fadingEdgeLength 设置阴影
< androidx.recyclerview.widget.RecyclerView
android: id= " @+id/rv_list"
android: layout_width= " match_parent"
android: layout_height= " 0dp"
android: layout_marginStart= " 24dp"
android: layout_marginTop= " 22dp"
android: fadingEdge= " vertical"
android: fadingEdgeLength= " 56dp"
android: paddingBottom= " 140dp"
app: layout_constraintBottom_toBottomOf= " parent"
app: layout_constraintLeft_toLeftOf= " parent"
app: layout_constraintRight_toRightOf= " parent"
app: layout_constraintTop_toBottomOf= " @id/back_button"
/>
3. Group
Group
就是一个分组,可以关联多个 View,从而只需要对这个分组进行控制就可以实现对多个 View 的控制
< androidx.constraintlayout.widget.Group
android: id= " @+id/control_button_group"
android: layout_width= " wrap_content"
android: layout_height= " wrap_content"
app: constraint_referenced_ids= " btn_collect,iv_pre,iv_toggle,iv_next,iv_list,iv_play_mode,iv_show"
/>
Group
无法设置点击事件,可通过扩展方法实现:
fun Group. setAllOnClickListener ( listener: ( view: View) -> Unit) {
referencedIds. forEach { id ->
rootView. findViewById< View> ( id) . setOnClickListener ( listener)
}
}