Скрыть разделитель, не скрывая childDivider в ExpandableListView - PullRequest
4 голосов
/ 16 января 2012

Я не могу найти способ скрыть разделители в 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", я получу и групповые, и дочерние разделители.

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

Ответы [ 5 ]

1 голос
/ 03 ноября 2014
expListView.setDivider(null);
expListView.setDividerHeight(2);

это будет работать

1 голос
/ 24 января 2012

Единственное решение, которое я нашел, - это поместить дочерний разделитель непосредственно в дочерний 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" />        

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

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

0 голосов
/ 11 декабря 2013

По моему мнению: -Удалить разделитель в XML:

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

-Ввести разделитель в представлении 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);

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

0 голосов
/ 15 апреля 2013

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

android: dividerHeight = "0dp"

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

0 голосов
/ 10 сентября 2012

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

...