Скрыть разделитель, не скрывая childDivider в ExpandableListView

Я не могу найти способ скрыть разделители в ExpandableListView, не скрывая при этом и дочерние разделители.

Вот мой код.

<ExpandableListView 
            android:id="@+id/activities_list"
            android:background="@android:color/transparent"
            android:fadingEdge="none"           
            android:groupIndicator="@android:color/transparent"
            android:divider="@android:color/transparent"
            android:childDivider="@drawable/list_divider"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

С этим кодом я не получаю ни разделителей на группы, ни дочерних разделителей. Если я установлю android:divider на "@drawable/list_divider", я получу как групповые, так и дочерние разделители.

Заранее спасибо!


person thomaus    schedule 16.01.2012    source источник
comment
возможно, этот пост может помочь вам [stackoverflow.com/questions/3245234/ [1]: stackoverflow.com/questions/3245234/   -  person Natali    schedule 16.01.2012
comment
Этот пост предназначен для того, чтобы скрыть дочерние разделители, что легко сделать. Но все равно спасибо.   -  person thomaus    schedule 17.01.2012


Ответы (5)


Единственное решение, которое я нашел, - это поместить дочерний разделитель непосредственно в дочерний XML следующим образом:

<TextView
    android:id="@+id/name"
    android:layout_centerVertical="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<ImageView android:id="@+id/divider"        
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@drawable/list_divider" />        

что очень очень уродливо, но работает.

Но все же должен быть способ сделать это правильно.

person thomaus    schedule 24.01.2012

expListView.setDivider(null);
expListView.setDividerHeight(2);

это сработает

person Wang Tavx    schedule 03.11.2014

Добавление параметраdivirHeight в ваш ExpandableListView в макете xml должно помочь.

person Gomino    schedule 10.09.2012

Как насчет того, чтобы просто добавить строку:

android:dividerHeight="0dp"

Собственно, я сталкиваюсь с аналогичной проблемой. PD спрашивает, что делитель и childDivider существуют и разные, что меня очень беспокоит. Я тоже ищу ответы.

person songzhw    schedule 15.04.2013

На мой взгляд: -Удалить разделитель в XML:

android:divider="@null"
android:dividerHeight="0dp"

-Нарисуйте разделитель в View getGroupView(..,..,..,..) :

            View divider = new View(_context);
            View dividerIDU = new View(_context);
            RelativeLayout.LayoutParams rldivider = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.MATCH_PARENT, 1);
            RelativeLayout.LayoutParams rldividerShort = new RelativeLayout.LayoutParams(
                    150, 3);

            rldividerShort.setMargins(5, -1, 0, 0);
            dividerIDU.setBackgroundColor(Color.RED);


            divider.setLayoutParams(rldivider);
            dividerIDU.setLayoutParams(rldividerShort);

            divider.setBackgroundColor(Color.rgb(200, 200, 200));

            ((RelativeLayout) convertView).addView(divider);
            ((RelativeLayout) convertView).addView(dividerIDU);

-После того, как вы можете установить разделитель после группового положения.

person IKE    schedule 11.12.2013