Android中ListView圆角背景导致内容视觉越界的解决方法
解决ListView内容超出圆角容器的问题
给ListView加底部内边距
在布局里给ListView设置android:paddingBottom(数值根据你的圆角大小调整,比如8dp),同时开启android:clipToPadding="false"——这样滚动时内容不会被内边距遮挡,还能让最后一行内容留在圆角背景范围内。代码示例:<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_corner_bg" android:paddingBottom="8dp" android:clipToPadding="false"/>给列表项加底部外边距
打开ListView的item布局,在根节点设置android:layout_marginBottom="4dp"左右的外边距,让最后一项底部留出空隙,不会贴到容器圆角边缘外。修改圆角背景的内边距
把你的圆角drawable用<inset>标签包裹,给背景本身加底部内边距,这样内容自然不会超出背景。示例:<inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetBottom="8dp"> <shape android:shape="rectangle"> <corners android:radius="16dp"/> <solid android:color="#ffffff"/> <!-- 其他背景设置 --> </shape> </inset>调整分隔线设置
如果是自带分隔线超出,可修改android:dividerHeight或者自定义分隔线drawable;也可以直接在列表项布局里自己画分隔线,更灵活控制位置,避免超出容器。
内容的提问来源于stack exchange,提问作者whoami
相关产品推荐
相关产品推荐

