Redacción y truncado

Según la documentación de Google sobre Material Design

Las elipsis a mitad de línea son 3 puntos [• • •] separados por espacios cortos que se usan para representar truncamiento de números o redacción de información sensible como tarjetas de crédito.

I. Declara un TextView en el layout de tu Activity.

<TextView  
   android:id="@+id/numero_tarjeta"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   />

II. Obtén los caracteres correspondientes a los puntos y los espacios cortos.

String space = "\u0020";  
String thinSpace = "\u2006";  
String bullet = "\u2022";  

III. Construye el patrón del texto final separando los puntos con espacios cortos. Entre el texto y la elipsis debe haber 2 espacios normales, y entre la elipsis y el resto de números debe haber 1 espacio corto.

String creditCardFinalDigits = "1234";  
String finalText = "Visa" + space + space + bullet + thinSpace + bullet + thinSpace + bullet + thinSpace + creditCardFinalDigits;  

IV. Añade el texto al TextView.

TextView cardTextView = (TextView) findViewById(R.id.creditcard_textview);  
cardTextView.setText(finalText);  

Elipsis a base de línea

Según la documentación de Google sobre Material Design

Las elipsis a base de línea [...] representan letras, palabras o frases que no se muestran.

Para colocar automáticamente elipsis en función del espacio disponible:

I. Declara un TextView en el layout de tu Activity con los atributos lines="1" y ellipsize="end".

<TextView  
    android:id="@+id/titleTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lines="1"
    android:ellipsize="end"
    />

II. Añade un texto largo al TextView.

TextView titleTextView = (TextView) findViewById(R.id.titleTextView);  
titleTextView.setText(R.string.bat);