2012-01-22 69 views

risposta

4

Android non dispone di tale funzione in origine. Alcuni mesi fa, ho dovuto sviluppare una funzione simile, e ho usato qualche trucco. In quel caso ho usato l'attributo shadow. Nel tuo caso su TextView.onDraw() chiama il numero super() due volte. Imposta il carattere in grassetto e imposta il colore sul colore del bordo e chiama una volta, quindi imposta il normale e chiama la seconda volta. Funzionerà.

+1

** Android non ha tale caratteristica in origine. ** sei sicuro? Penso che il tuo processo sia lungo. –

+0

@CapDroid La tua soluzione sembra buona, la mia risposta è troppo vecchia :) – lulumeya

12

È possibile creare stile per questo ..

Ecco sample style per il confine sul testo ..

Style.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
<style name="shadoweffect"> 
     <item name="android:paddingLeft">4px</item> 
     <item name="android:paddingBottom">4px</item> 
     <item name="android:textColor">#FFFFFF</item> 
     <item name="android:textSize">25sp</item> 
     <item name="android:shadowColor">#000000</item> 
     <item name="android:shadowDx">0</item> 
     <item name="android:shadowDy">0</item> 
     <item name="android:shadowRadius">3</item> 
    </style> 

</resources> 

Applicare stile sulla vostra TextView

<TextView 
     style="@style/shadoweffect" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="your_text" /> 
+0

Grazie @Niranj Patel Funziona anche su Android 7 –

0

È possibile utilizzare qualsiasi TextEd itors per creare un bordo per ur il testo e si può aggiungere al codice

+0

Penso che l'OP cercasse una soluzione impostando valori nell'XML? – Flexicoder

20

Prova questa ..

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" 
    android:textColor="#f8f36a" 
    android:textSize="65sp" 
    android:shadowColor="#ff0000" 
    android:shadowRadius="2"/> 

e il risultato è

result

È possibile creare bordo personalizzato per il testo così .. Here is a sample application.

enter image description here

+0

Ho usato MagicTextView nel mio progetto. In Android 4.4 (API 19) ho riscontrato un problema: la mia applicazione si blocca da qualche parte in una libreria C. Succede solo su Android 4.4. E la mia applicazione funziona bene, se uso TextView invece di MagicTextView. – ivan

Problemi correlati