lz在做一个安卓小项目的时候发现当listview超出屏幕本身内容时,下滑发现最后一条内容显示不完全,高度设置用的是wrap_content,原因是上方的导航栏占据了部分高度,如下:
在这里插入图片描述
然后去各种百度,发现都要重写onMeasure方法,手动计算listview高度啥的,比较繁琐,而我的解决方法是:利用强大的ConstraintLayout,设置listview的顶部和底部的约束位置即可。

<androidx.constraintlayout.widget.ConstraintLayout>
    ......
        <ListView android:layout_width="match_parent"
              android:layout_height="0dp"
    app:layout_constraintTop_toBottomOf="@id/topMenu_rd"
    app:layout_constraintBottom_toBottomOf="parent"
    android:id="@+id/mainListView"
    />
<!--    注:将height设为0dp,下面的app约束才会生效,楼主原来是没有加底部约束于parent那一条才出现bug的-->

</androidx.constraintlayout.widget.ConstraintLayout>
  • 解释:将listview顶部与RadioButton布局的底部对齐,Listview底部与父布局(最外面一层)对齐
    在这里插入图片描述
    OK
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐