Mostrar el nombre del contacto con la letra inicial en el círculo

Necesito mostrar la letra inicial del nombre del contacto dentro del círculo como en los contactos de lollipop. No encontré ninguna solución.

El círculo debe tener un color diferente para cada usuario.

Puedes seguir esto. Si quieres ahorrar tiempo, puedes usar esta biblioteca.

Editar

El enlace puede ser inválido en cualquier punto del tiempo. Así que quiero añadir los detalles a continuación.

repositories{ maven { url 'http://dl.bintray.com/amulyakhare/maven' } } dependencies { compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' } 

Puede agregar la metodología que está siguiendo.

Básicamente usted tiene que agregar un ImageView con la misma altura y el ancho y agregar este TextDrawable como fondo de su opinión.

 TextDrawable drawable = TextDrawable.builder() .buildRect("A", Color.RED); ImageView image = (ImageView) findViewById(R.id.image_view); image.setImageDrawable(drawable); 

La biblioteca tiene soporte para dibujar rectangle , square y rectangle .

No vi ninguna biblioteca para esto, pero mi solución es dibujar un círculo en tiempo de ejecución en un diseño predefinido en su uso xml esto: ¿Cómo dibujar círculo por lienzo en Android?

A continuación, en el adaptador de lista elija la primera letra de cada cadena de nombre utilizando substring (0,1), y usando setText () puede establecer el elemento de lista textView a la primera letra. Si usted necesita el código fuente déjeme saber para ponerlo para usted.

ACTUALIZACIÓN: He utilizado recientemente enfoque muy fácil para esto en una de mis aplicaciones, debe hacer un diseño como este en su carpeta de diseño:

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rlWeekDay" android:layout_width="45dp" android:layout_height="45dp" android:layout_gravity="right" android:layout_margin="3dp" android:background="@drawable/circle_shape"> <TextView android:id="@+id/tvWeekDayFirstLetter" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text=" E " android:textStyle="bold" android:textColor="@color/colorPrimary" android:textSize="20sp" /> </RelativeLayout> 

Y tu forma en carpeta dibujable como circle_shape.xml:

  <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval" android:dither="true"> <corners android:bottomRightRadius="100dp" android:bottomLeftRadius="100dp" android:topLeftRadius="100dp" android:topRightRadius="100dp"/> <solid android:color="#ccc" /> </shape> </item> <item android:bottom="3dp"> <shape android:shape="oval" android:dither="true"> <solid android:color="@color/white"/> <!-- this one is ths color of the Rounded Button --> <corners android:bottomRightRadius="100dp" android:bottomLeftRadius="100dp" android:topLeftRadius="100dp" android:topRightRadius="100dp"/> </shape> </item> </layer-list> 

A continuación, en su lista de ver o recyclerview utilizar esto como el elemento para inflar. Introduzca aquí la descripción de la imagen

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.