ConstraintLayout有个很好用的组件叫 Flow,使用 Flow 可以很方便的实现一些常见的列表效果,但有个问题就是其本身并不支持滑动。
所以一般会在外层套上一个ScrollView,就像以前使用线性布局一样。但开发时发现在写好相关布局后,已经无法直接滑动。在经过一些尝试后,正确的使用方法应该是:
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="90dp" app:layout_constraintBottom_toBottomOf="parent"> <!-- 横向超出界面 则横向指定具体宽度 比如 6个ITEM 每个70dp 那就是420dp --> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="420dp" android:layout_height="match_parent"> <Button android:id="@+id/btn1" android:layout_width="70dp" android:layout_height="match_parent" android:text="1" /> <Button android:id="@+id/btn2" android:layout_width="70dp" android:layout_height="match_parent" android:text="2" /> <Button android:id="@+id/btn3" android:layout_width="70dp" android:layout_height="match_parent" android:text="3" /> <Button android:id="@+id/btn4" android:layout_width="70dp" android:layout_height="match_parent" android:text="4" /> <Button android:id="@+id/btn5" android:layout_width="70dp" android:layout_height="match_parent" android:text="5" /> <Button android:id="@+id/btn6" android:layout_width="70dp" android:layout_height="match_parent" android:text="6" /> <androidx.constraintlayout.helper.widget.Flow android:layout_width="match_parent" android:layout_height="0dp" app:constraint_referenced_ids="btn1,btn2,btn3,btn4,btn5,btn6" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> </HorizontalScrollView>
关键点就是指定宽度,这么简单的布局其实和用线性布局没什么区别,但真正的业务中往往还有角标、叠加之类的,约束布局显然更合适。
将就看效果吧 ~ (有点辣眼睛)
水文一篇~
本站由以下主机服务商提供服务支持:
0条评论