2012-01-19 51 views
6

我已經實現了我的應用程序上的ListView應用我已經使用getListView()method.I已經寫的代碼如下:如何在ListView android應用程序的中心設置文本?

String[] conversionsadd = getResources().getStringArray(R.array.conversions); 
    setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,conversionsadd)); 
    getListView().setTextFilterEnabled(true); 
    getListView().setBackgroundResource(R.drawable.listback2); 

當我寫在onCreate方法上面的代碼,我可以能夠顯示列表與一些文本。 從上面的代碼我想顯示在列表中的文本,並顯示文本的顏色。

+0

只需使用'android:layoutGravity =「center」'到你的列表視圖。但是,在這裏你使用的是Android默認的listview。嘗試使用自己的listview而不是'android.R.layout.simple_list_item_1' – Praveenkumar

回答

23

您使用內置的佈局是

android.R.layout.simple_list_item_1 

此佈局無法更改。但是,您可以提供自己的行佈局。

你行應該是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:layout_width="fill_parent" 
    android:textSize="20sp" 
    android:paddingLeft="6dip" 
    android:paddingRight="6dip" 
    android:gravity="center" /> 

記住,ID應該是唯一的android:id="@android:id/text1"

,現在你可以把這個給你的ArrayAdapter的構造函數:

ArrayAdapter<String>(this,R.layout.my_custom_layout,conversionsadd); 
+0

工作出色,只有一件事我發現在Android Studio中,'Design'不會顯示這些更改 - 但是當您使用它們時可以看到模擬器。 – 2016-10-15 00:43:40

1

,你應該給的ArrayAdaptergetView功能或R.layout.simple_list_item_1 XML的代碼,這通常是在ListView項的樣式設置

4

我因此未嘗試,但我認爲,重寫getView適配器方法,並執行以下操作:

String[] conversionsadd = getResources().getStringArray(R.array.conversions); 
    setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,conversionsadd) 
{ 
    public View getView(AdapterView adapterView, View convertView, int position, long id) 
    { 

     View view=super.getView(adapterView, convertView, position, id); 
     TextView txt=view.findViewById(android.R.id.textView1); 
     txt.setGravity(Gravity.CENTER); 

     return view; 
    } 
}); 
    getListView().setTextFilterEnabled(true); 
    getListView().setBackgroundResource(R.drawable.listback2); 
相關問題