2012-03-08 12 views
5

मैं दोनों तरफ व्हाइटस्पेस के मार्जिन के लिए डिफ़ॉल्ट सूची दृश्य सूची विभाजक शैली को स्टाइल करने की कोशिश कर रहा हूं। मैंने पहले से ही संपूर्ण सूची दृश्य के मार्जिन सेट करने का प्रयास किया है, लेकिन वांछित परिणाम नहीं बनाया है।कस्टम स्टाइल listdivider

मैं क्या है:

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 विभक्त को @ लेआउट/विभाजक को ऐप क्रैश पर सेट करता हूं। कोई सुझाव? मैं निम्नलिखित त्रुटि मिलती है: org.xmlpull.v1.XmlPullParserException:: बाइनरी एक्सएमएल फ़ाइल लाइन # 2: की वजह से अवैध drawable टैग देखें – Meatje

+0

@Meatje: यदि आप समस्या का समाधान नहीं मिलता है या नहीं है? –

+0

@Meatje: ठीक है, मैं अपना समाधान अपडेट कर रहा हूं जो पूरी तरह से मेरी तरफ काम कर रहा है .. –

संबंधित मुद्दे