2011-06-09 6 views
2

J'essaie de définir le texte de ListView dans centre de la mise en page. J'utilise LinearLayout et mis en gravité = centre, mais il montre toujours laissédéfinir le texte de ListView dans le centre - android

est ici mise en page:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <LinearLayout android:orientation="vertical" 
     android:layout_width="fill_parent" android:layout_height="wrap_content" 
     android:gravity="center"> 
     <ListView android:id="@+id/lv_function" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:gravity="center" /> 
    </LinearLayout> 
</LinearLayout> 

Dans mon code, j'utilise:

String[] functions = { "Login", "Register", "Setting", "About", "Exit" }; 
lvMenu = (ListView) findViewById(R.id.lv_function); 
ArrayAdapter<String> arr = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, functions); 
// set adapter for ListView. 
lvMenu.setAdapter(arr); 

Voici résultat: result

Avez-vous des idées? une? S'il vous plaît aidez-moi, merci!

+1

Si c'était la réponse, pourriez-vous s'il vous plaît marquer? Je vous remercie – Shaun

Répondre

13

Vous devez créer votre propre mise en page pour votre élément listview. Soemthing comme celui-ci

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" > 
     <TextView 
      android:id="@id/textItem" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
</LinearLayout> 

Ensuite, dans votre code, vous allez devoir faire

new ArrayAdapter<String>(this, R.layout.yourRowItemLayoutHere, R.id.textItem, functions); 

Espoir qui a aidé

0
  • layout_gravity = impact avec mise en page dans votre enfant vues
  • gravit y - Impact avec contenu votre enfant considère
Questions connexes