2012-01-19 16 views
6

私は次のように私は、コードを書かれているgetListView()method.Iを使用していた私のアプリケーションでのListView上のアプリケーションを実装している: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.R.layout.simple_list_item_1'の代わりに独自のリストビューを使用してみてください – Praveenkumar

答えて

23

に設定されている場所を

android.R.layout.simple_list_item_1 
ある組み込みのレイアウトを使用している通常、 ArrayAdapterR.layout.simple_list_item_1のXMLの getView関数のコードを与える必要があります

このレイアウトは変更できません。しかし、独自の行レイアウトを提供することができます。

あなたの行は次のようになります。

<?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のコンストラクタにこれを与えることができます:私はdidnot

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

私は、Android Studioでは「デザイン」にこれらの変更が表示されないことがわかりましたが、エミュレータ –

1

あなたは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); 
関連する問題