Cómo cambiar el color del divisor hijo de ExpanableListView por el archivo xml de diseño?
Quiero cambiar el color del divisor de niños de ExpandableListView
escribiendo:
android:childDivider="@drawable/yellow"
En el archivo de diseño. Sin embargo, cuando colapso el elemento, encontré el fondo de la curva ExpandableListView
amarillo ( @drawable/yellow
), pero sólo quiero cambiar el color de divisor de niño. ¿Quién puede decirme por qué? Para mi sorpresa, si lo cambio por código java como
- ¿Cómo se basan las coordenadas de un Android onTouchEvent MotionEvent?
- ¿Cuál es la mejor manera de apoyar métodos obsoletos que son reemplazados por otros nuevos?
- Cargar HTML estático en Webview
- Cómo borrar la vista creada dinámicamente de la memoria?
- Mostrar enormes imágenes en Android
expandableListView.setChildDivider(this.getResources().getDrawable(R.drawable.yellow));
Funciona normalmente. Es muy extraño, ¿quién puede decirme la razón?
<!-- if I set childDivider in Layout xml, it can't work normally. However, if set childDivider in java code, it work normally --> <ExpandableListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:dividerHeight="2dp" android:divider="@drawable/yellow" android:childDivider="@drawable/yellow" />
- Contraer un grupo de forma programática en ExpandableListView
- Android: Estado compartido compartido de vista de niño de su vista principal en Jelly Bean
- ¿Cómo obtener el lienzo actual?
- Ciclo de vida de Android View
- Obtener ids de vista en un bucle for por programa?
- Mantener la posición de desplazamiento en RecyclerViews anidados
- La lista expandible no se está expandiendo
- PivotX y PivotY en ScaleAnimation no tiene ningún efecto
Crear un dibujable con altura pequeña y establecerlo en la propiedad childDivider
"Child_separator.xml":
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/child_separator_color"/> <size android:height="1dp"/> </shape>
Vista lista expandible:
android:childDivider="@drawable/child_separator"
Simplemente establezca el divisor infantil como el color de su elección.
<ExpandableListView android:id="@+id/list_shopping" android:layout_width="wrap_content" android:layout_height="wrap_content" android:childDivider="@color/LightGrey" android:dividerHeight="1dp" />
Sólo tienes que eliminar android:divider="@drawable/yellow"
de tu diseño. Esto debería resolver su problema si lo entendía correctamente.
Esto es lo que quiero decir: