Questo è quello che mi è venuto in mente.
ho usato TextView
s con uno sfondo layer-list
. Lo sfondo si adatta alle dimensioni della vista in cui è caricato, quindi per avere un cerchio è possibile forzare lo TextView
ad avere la stessa larghezza e altezza.
<TextView
android:id="@+id/view"
android:layout_width="65dp"
android:layout_height="65dp"
android:gravity="center"
android:textSize="40dp"
android:fontFamily="sans-serif-thin"
android:background="@drawable/background"
android:text="A"/>
Ho testo, dimensioni, larghezza e altezza hardcoded, ma è possibile gestirli in fase di esecuzione. fontFamily="sans-serif-thin"
consente di utilizzare, se disponibile, il tipo di carattere sottile che potrebbe essere migliore. L'elenco dei livelli:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="1dp">
<shape android:shape="oval" >
<solid android:color="#321a1a1a"/>
</shape>
</item>
<item
android:top="1dp"
android:bottom="1dp"
android:left="1dp"
android:right="1dp">
<shape android:shape="oval" >
<solid android:color="@color/red_700"/>
</shape>
</item>
</layer-list>
Il primo elemento è ottenere l'ombra falsa mostrata, ma è possibile liberarsene. Inoltre, è possibile rimuovere il suo offset android:top="1dp"
. In questo modo avrai un anello circolare 1 dB all'esterno (mentre ora l'ombra è lanciata solo in basso e in entrambi i lati).
Anche in questo caso, ho colori hardcoded ma è possibile modificare ciò che si desidera.
Si prega di fornire qualche descrizione di come è andata disastrosamente male. Inoltre, questo post potrebbe essere rilevante: http://stackoverflow.com/questions/26931909/android-how-to-define-a-configurable-size-shape – corsair992