Cómo establecer la altura del elemento ListView
Tengo un ListActivity que quiero cambiar La altura del artículo refiere a la altura del dispositivo
public class MainActivity extends ListActivity { . . . setListAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,mainMenuItems)); }
Es mi ListActivity en el nexo galaxia S:
- Al marcar una casilla de verificación en listview, también se comprueban otras casillas aleatorias
- Android - ¿Menú emergente cuando se pulsa la vista de elemento de lista?
- Reproducir video mediante videoview en Listview
- Cambiar el color de fuente de TextView cuando se selecciona el elemento ListView
- Cómo administrar divisores en un PreferenceFragment?
Y en el nexo galaxia 7:
¿Cómo debo definir la altura de los elementos de listview ???
- Obtener elementos seleccionados de ListView con casilla de verificación
- Efecto de botón de diapositiva en el elemento de vista de lista para Android
- Disposición de la vista Lista de Android Similar a Google play
- ¿Cómo ocultar el teclado virtual al cambiar las pestañas?
- ¿Fragmento de acceso en la actividad?
- ¿Por qué mi onItemSelectedListener no se llama en un ListView?
- Cómo hacer que los elementos de la lista obtengan DragEvents después de desplazarse
- Listview recarga las imágenes ya cargadas mediante el cargador de imágenes Universal
La altura de los elementos ListView es la altura del contenido de la disposición del elemento, por ejemplo, android.R.layout.simple_list_item_1 height. Si desea una altura diferente, cree un archivo xml y ponga un atributo layout_height o minHeight.
Se trata de un simple_list_item_1 modificado que se refiere a su valor
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" android:paddingRight="?android:attr/listPreferredItemPaddingRight" android:minHeight="@dimen/your_defined_minumum_height"/>
Y en su dimen.xml
<dimen name="your_defined_minumum_height">48dp</dimen>
ListView lvLogs = new ListView(this); lvLogs.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, logs) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView textView = ((TextView) view.findViewById(android.R.id.text1)); textView.setMinHeight(0); // Min Height textView.setMinimumHeight(0); // Min Height textView.setHeight(44); // Height return view; } });
Nota: MinHeight y MinimumHeight son necesarios !!!
Establezca la altura mínima a 0 ~ 20 (o superior): setMinHeight(?)
+ setMinimumHeight(?)
Entonces el TextView en ListView tendrá una altura normal (más pequeño que el predeterminado de ListView)
Si desea especificar la altura en píxeles, utilice setHeight(?)
Debe crear su propio archivo de diseño personalizado para cada elemento de ListView. Allí puedes editar lo que quieras, y puedes obtener muchos beneficios.
Personalice un adaptador para su ListView con la información de screenHeight (H). Dado que desea que su pantalla muestre 9 columnas (elementos), puede especificar la altura de cada uno de ellos como H / 9. Al hacerlo, puede controlar con precisión la apariencia de su ListView sin importar en qué tipo de dispositivo.
- Webview de Android: ¿Existe una manera de saber cuál es la URL anterior?
- Android: cómo formateo el número como teléfono con paréntesis