2011-06-09 84 views
2

我嘗試設置ListView的文本在中心的佈局。我使用的LinearLayout並設置比重=中心,但它總是顯示在離開在中心設置ListView的文本 - android

這裏是佈局:

<?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> 

在我的代碼,我使用:

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); 

這裏結果: result

你有任何ide一個?請幫助我,謝謝!

+1

如果這是答案,你可以請標記嗎?謝謝 – Shaun 2011-06-14 03:35:33

回答

13

你必須爲你的listview項目創建你自己的佈局。這樣

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

然後Soemthing,在你的代碼,你將不得不這樣做

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

希望有所幫助

0
  • layout_gravity =衝擊與佈局您兒童意見
  • gravit y - 影響內容在您的孩子的意見