2012-03-08 3 views
5

기본 ListView 목록 구분선의 스타일을 지정하여 양쪽면의 여백을 지정하려고합니다. 이미 전체 ListView의 여백을 설정하려고했지만 원하는 결과가 생성되지 않았습니다.사용자 정의 스타일 목록 분할 자

은 내가 무엇을 가지고 :

What i have

것은 무엇 내가 할 (디바이더의 양쪽에 여백을 알) 노력하고있어 :

what i need to have

가장 좋은 것이 무엇 이 일을하는 방법? 미리 감사드립니다!

+0

http://stackoverflow.com/questions/3979218/android-listview-divider이 맞춤형 구분선을보고 몇 가지 노력을하십시오. ... –

답변

6

나는 결국 허용 된 대답 this 게시물 (그라데이션 부분 제외)을 사용하여 내 문제를 해결할 수있었습니다 (그라데이션 부분 제외)

0

고객님의 ListAdapter을 작성하고 ListView에 설정하는 것이 좋습니다. 그런 다음 getView 메서드에서 원하는 방식으로 개별 목록 항목의 스타일을 지정할 수 있습니다.

10

<include layout="@layout/divider" /> 및 맞춤 레이아웃을 사용하십시오.

main.xml에 :이 같은

<?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" 
    android:orientation="vertical" > 
<ListView android:id="@+id/listview" 
android:layout_width="wrap_content" 
android:divider="@layout/divider" 
android:dividerHeight="3sp" 
android:layout_height="wrap_content" /> 
</LinearLayout> 

divider.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <gradient 
     android:startColor="#00000000" 
     android:centerColor="#FFFFFF" 
     android:endColor="#00000000" 
     /> 
    <corners 
     android:radius="4dp" 
     /> 
</shape> 

AndroidlistviewdividerActivity.class

public class AndroidlistviewdividerActivity extends Activity { 
    /** Called when the activity is first created. */ 
    private ListView lv; 
    private String listview_array[] = { "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", 
            "SEVEN", "EIGHT", "NINE", "TEN" }; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     lv = (ListView) findViewById(R.id.listview); 
     lv.setAdapter(new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_1, listview_array)); 
     lv.setTextFilterEnabled(true); 
     lv.setOnItemClickListener(new OnItemClickListener() 
     { 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      AlertDialog.Builder adb = new AlertDialog.Builder(
         AndroidlistviewdividerActivity.this); 
       adb.setTitle("ListView OnClick"); 
       adb.setMessage("Selected Item is = " 
       + lv.getItemAtPosition(arg2)); 
       adb.setPositiveButton("Ok", null); 
       adb.show();  
     } 
     }); 
    } 
} 
+0

고마워요,이게 내가 찾는 것입니다. 하지만 ListView 디바이더를 @ layout/divider로 설정하면 앱이 다운됩니다. 어떤 제안? 나는 다음과 같은 오류 얻을 : org.xmlpull.v1.XmlPullParserException : 바이너리 XML 파일 라인 # 2 : 에 의한 무효 당김 태그보기 – Meatje

+0

@Meatje : 당신이 솔루션을 얻거나하지 않은? –

+0

@Meatje : 알았어, 내 문제를 완벽하게 해결하는 내 솔루션을 업데이트하고있어. –