come impostare elemento ListView altezza

Ho una ListActivity che voglio cambiare l’altezza dell’Oggetto, fare riferimento al dispositivo di altezza

public class MainActivity extends ListActivity
{
            .
            .
            .
            setListAdapter(new ArrayAdapter<String>(MainActivity.this,
                android.R.layout.simple_list_item_1,mainMenuItems));
}

il mio ListActivity su galaxy nexus S :

come impostare elemento ListView altezza

e su galaxy nexus 7 :
come impostare elemento ListView altezza

come devo definire gli elementi di listview altezza ???

 

4 Replies
  1. 24

    Il ListView elementi di altezza sono l’altezza di elementi di layout dei contenuti, ad esempio, android.R.layout.simple_list_item_1 altezza. Se si desidera che una diversa altezza, creare un file xml e mettere un android:layout_height o android:minHeight attributo.

    Questa è una versione modificata del simple_list_item_1 che si riferisce al valore

    <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"/>

    e nel dimen.xml

    <dimen name="your_defined_minumum_height">48dp</dimen>
  2. 5
    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 e MinimumHeight è obbligatoria!!!

    Impostare l’altezza minima di 0~20(o superiore) : setMinHeight(?) + setMinimumHeight(?)

    Quindi la TextView in ListView avrà un altezza normale (più piccola della ListView è di default),

    Se si desidera specifica l’altezza in pixel, quindi utilizzare setHeight(?)

  3. 3

    È necessario creare il proprio layout personalizzato per ogni elemento ListView. Non è possibile modificare quello che si vuole, e si può ottenere un sacco di vantaggi.

  4. 0

    Personalizzare un adattatore per il tuo ListView con le informazioni di screenHeight (H). Dato che volete che il vostro schermo per visualizzare 9 colonne (elementi), è possibile specificare l’altezza di ciascuno di loro come H/9. Così facendo, è possibile controllare con precisione l’aspetto del vostro ListView su tutti i dispositivi.

Lascia un commento