PDA

Ver la Versión Completa : Ajsutar altura de un LinearLayout a un ListView


vzk91
19/06/13, 14:33:48
Hola,

Soy totalmente incapaz de ajustar la altura de un LinearLayout al tamaño del ListView. El ListView se crea dinamicamente con una consulta a una BD.

El metodo que estaba tratando de usar era, obtener el tamaño de cada elemento del listview y multiplicarlo por el numero total de elementos para obtener la altura total. Pongo la función que hace eso:

private int getListViewHeight(ListView list) {
ListAdapter adapter = list.getAdapter();

int listviewHeight = 0;

list.measure(MeasureSpec.makeMeasureSpec(MeasureSp ec.UNSPECIFIED, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));

listviewHeight = (list.getMeasuredHeight()* adapter.getCount());

return listviewHeight;
}

El problema que tengo es que cuando se trata de un 1 solo elemento sale cortado, y cuando se trata de mas de 5 elementos empieza a generarse un espacio extra por la parte inferior....

Alguna idea de como ajustar el alto de LinearLayout al alto del ListView ??

un saludo

kriogeN
19/06/13, 14:51:34
No se porque te complicas tanto la vida en vez de hacerlo directamente en el XML.

¿Qué estás tratando de hacer exactamente?

vzk91
20/06/13, 11:20:43
No se porque te complicas tanto la vida en vez de hacerlo directamente en el XML.

¿Qué estás tratando de hacer exactamente?

Aveces yo tambien me pregunto lo mismo jaja.

Trato de darle un contenedor al listview, el problema es que desde xml con wrap_content no funciona porque de primeras el listview se encuentra vacio y con visibildiad GONE, entonces cuando recibe los datos para cada elemento del listview es cuando su visibilidad se pone VISIBLE y coge la altura.

Si existe de dar de una manera dinamica la altura desde xml deconozco como se hace, por eso directamente me lance a darle la altura dinamicamente desde java.

un saludo y gracias por responder !