Android – Bullets in ListView

By -
Problem: How to show bullets in ListView/TextView in Android?
Description: 

There is no easy way to show indentation in ListView/TextView, so here i made a trick and define a drawable to display Bullet at left side of each item of the ListView. And i have defined a custom listview row file and used the same drawable file using android:drawableLeft=”@drawable/bullet”.

Go through the solution or download the source code and let me know your review/updates.

Related articles for displaying ListView in Android

Output: 

Android - Bulleted ListView

Solution:

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"
    android:padding="10dp">
    
    <ListView
        android:id="@+id/listView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:listSelector="@android:color/transparent"
        android:divider="@null"/>
</LinearLayout>

bullet.xml [store it inside the drawable folder]

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <size
        android:width="6dp"
        android:height="6dp"/>
    <solid
        android:color="#FF00F0"/>
</shape>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/itemText"
    android:drawableLeft="@drawable/bullet"
    android:drawablePadding="8dp"
    android:padding="5dp"
    android:textSize="20sp"
    android:text="List Item"/>

BulletedListViewActivity.java

package com.technotalkative.bulletedlistview;

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class BulletedListViewActivity extends Activity {
    /** Called when the activity is first created. */
	
	ArrayList<String> listCountry;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
            prepareList();
            
            ListView listView = (ListView)findViewById(R.id.listView);
            listView.setAdapter(new ArrayAdapter<String>(
                                this, R.layout.list_item, listCountry));
    }
    
    public void prepareList()
    {
          listCountry = new ArrayList<String>();
          listCountry.add("India");
          listCountry.add("Brazil");
          listCountry.add("Canada");
          listCountry.add("China");
          listCountry.add("France");
          listCountry.add("Germany");
          listCountry.add("Iran");
          listCountry.add("Italy");
          listCountry.add("Japan");
          listCountry.add("Korea");
          listCountry.add("Mexico");
          listCountry.add("Netherlands");
          listCountry.add("Portugal");
          listCountry.add("Russia");
          listCountry.add("Saudi Arabia");
          listCountry.add("Spain");
          listCountry.add("Turkey");
          listCountry.add("United Kingdom");
          listCountry.add("United States");
    }
}


Download full Example from Here: Android – Bullets in ListView

Paresh Mayani

Lazy android developer, exploring the horizon of android development since 7 years, currently working as a Technical Lead - Android at Simform Solutions, India. Former Application Architect at KarConnect. He is the Head/Organizer of Google Developers Group (GDG), Ahmedabad

Loading Facebook Comments ...
Loading Disqus Comments ...