如何在ListView中的项目组之间创建透明空格?

时间:2017-12-20 16:55:22

标签: android android-layout listview

我基本上将项目分组为两个或一个组,使用IOS中的Table及其部分功能可以轻松实现。我在android中使用不同的视图类型做了它,但不得不使用一些黑客来使它工作,因为不知何故Android没有使用布局高度空间项目的布局高度。我通过创建R.layout.list_section_space修复它:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#600d47a1">

<View
    android:layout_width="match_parent"
    android:layout_height="25dp" />
</FrameLayout>

但是当它像这样指定时

<?xml version="1.0" encoding="utf-8"?>
<View
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#600d47a1"
    android:layout_width="match_parent"
    android:layout_height="25dp" />
</FrameLayout>

我认为它已经崩溃或者其他东西,而且不可见..

我没有问题,它运作良好,当我不使用这种布局黑客时,空白空间会崩溃,需要发表一些评论,不要忘记它&# 34;工作&#34 ;.没有发现任何类似的问题。

我正在更新quastion,因此我更清楚我在listview中实现了什么以及为什么我在项目之间使用ViewType作为spcace。

想象一下这个列表视图类型结构:

item
item
space
item
item
space
item

所以我有两个视图,一个是项目,一个是空格。每个都有自己的视图类型,并且空间视图布局会崩溃,因为如果我不使用我的解决方法,ListView会忽略顶部的layout_height参数。我不知道如何使用DividerItemDecoration思想。

1 个答案:

答案 0 :(得分:1)

在不知道适配器的实现的情况下,我只能猜测(至少部分)问题在于您扩展列表行的方式。确保使用

给它们充气

getLayoutInflater().inflate(R.layout.list_item, parent, false)其中parent是适配器的AdapterView方法中提供的getView()

请参阅this问题。