Vous devriez être en mesure d'ajouter le style, comme ceci (tiré du code source de Ringdroid) :
<style name="AudioFileInfoOverlayText">
<item name="android:paddingLeft">4px</item>
<item name="android:paddingBottom">4px</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">12sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>
Et dans votre mise en page, utilisez le style comme ceci :
<TextView android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/AudioFileInfoOverlayText"
android:gravity="center" />
Edit : le code source peut être consulté ici : https://github.com/google/ringdroid
Edit2 : Pour définir ce style par programme, vous feriez quelque chose comme ceci (modifié à partir de cet exemple pour correspondre aux ressources de ringdroid ci-dessus)
TextView infoTextView = (TextView) findViewById(R.id.info);
infoTextView.setTextAppearance(getApplicationContext(),
R.style.AudioFileInfoOverlayText);
La signature pour setTextAppearance
est
public void setTextAppearance (Context context, int resid)
Depuis : API Niveau 1
Définit la couleur, la taille, le style, la couleur d'accentuation et la couleur de surbrillance du texte à partir de la ressource TextAppearance spécifiée. couleur de surbrillance de la ressource TextAppearance spécifiée.
2 votes
N'oubliez pas que vous devez avoir un ShadowRadius.
2 votes
Vous devriez marquer la réponse laissée par @fhucho comme étant la réponse correcte ; j'essayais de faire la même chose et je l'ai manqué la première fois que j'ai vu ce message, car aucune réponse n'était marquée comme correcte. La réponse qui a été votée plusieurs fois est trompeuse, car elle ne concerne pas l'ajout de l'ombre par programme.
0 votes
Duplicata possible de Ajouter une "ombre" opaque (contour) au TextView Android