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>关键点就是指定宽度,这么简单的布局其实和用线性布局没什么区别,但真正的业务中往往还有角标、叠加之类的,约束布局显然更合适。
将就看效果吧 ~ (有点辣眼睛)

水文一篇~
本站广告由 Google AdSense 提供
0条评论