2012-01-19 2 views
6

나는 다음과 같이 내가 코드를 작성했습니다 위에서 getListView() 곤하는 법을 사용한 내 응용 프로그램에있는 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 default의 listview를 사용하고 있습니다. 'android.R.layout.simple_list_item_1' 대신 자신 만의 목록보기를 사용해보십시오. – Praveenkumar

답변

23

설정되는 경우 보통 인의 getViewArrayAdapter의 기능 또는 R.layout.simple_list_item_1의 XML의 코드를 제공한다 내장

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

아이디 만 android:id="@android:id/text1"

해야한다는 기억하고 지금 당신은 당신의 ArrayAdapter와의 생성자이 제공 할 수 있습니다 : 내가 didnot

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

훌륭하게 작동했는데, Android Studio에서 '디자인'에 이러한 변경 사항이 표시되지 않습니다.하지만 사용하면 볼 수 있습니다. 에뮬레이터. –

1

당신은 목록보기 항목의 스타일을 사용하는

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); 
관련 문제