0

我有一个 ExpandableListView,我希望组行之间的空间更小。dividerHeight 已经设置为零,我不知道那些顶部/底部边距来自哪里。请看下面的截图(请忽略不小心出现的音量控制)

在此处输入图像描述

我需要减少行之间的间距,但无法管理它。

列表显示:

 <ExpandableListView
    android:id="@android:id/list"
   android:listSelector="@android:color/transparent"
    android:layout_marginTop="80dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/header"
    android:layout_centerHorizontal="true"
    android:cacheColorHint="@android:color/transparent"
    android:smoothScrollbar="true" >
</ExpandableListView>

在活动中:

            getExpandableListView().setGroupIndicator(null);
    getExpandableListView().setDividerHeight(0);

群组 XML:

    <CheckedTextView 
    xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="65dp"


android:gravity="center_vertical"
android:text="@string/hello_world"

android:paddingLeft="20dp"
android:textColor="#FFFFFF"
android:textSize="65sp"
android:textStyle="bold" />

更新

grouprow 现在看起来像这样:

 <CheckedTextView 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/hello_world"
android:paddingLeft="20dp"
android:textColor="#FFFFFF"
android:textSize="65sp"
android:textStyle="bold" />

我启用了 listSelector 并发现行高仍然大于实际文本的高度.. 寻找解决方案

4

3 回答 3

0

您为行数据提供固定高度,因此会导致问题。

利用

android:layout_height="wrap_content"

反而

android:layout_height="65dp"

第二种解决方案@

消除android:gravity="center_vertical"

并检查并告诉我,否则将删除我的答案。

于 2013-01-29T13:50:58.513 回答
0

您可以在边距属性中使用负值来减少间距。在你的 CheckedTextView 中试试这个:

android:layout_marginTop="-8dp"

于 2013-01-29T13:51:46.180 回答
0

以编程方式使用此代码

expListView.setDividerHeight(0);

(或)可扩展列表视图分隔线高度值为 0(xml)

android:dividerHeight="0dp"

于 2014-07-14T12:13:18.680 回答