Il y a deux façons de procéder :
1. Utilisation des styles
Vous pouvez définir vos propres styles en créant des fichiers XML sur le site Web de la Commission européenne. res/values
répertoire. Ainsi, supposons que vous souhaitiez avoir du texte en rouge et en gras, alors vous créez un fichier avec ce contenu :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyRedTheme" parent="android:Theme.Light">
<item name="android:textAppearance">@style/MyRedTextAppearance</item>
</style>
<style name="MyRedTextAppearance" parent="@android:style/TextAppearance">
<item name="android:textColor">#F00</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
Vous pouvez le nommer comme vous le souhaitez, par exemple res/values/red.xml
. Ensuite, il ne vous reste plus qu'à utiliser cette vue dans les widgets que vous souhaitez, par exemple :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
style="@style/MyRedTheme"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is red, isn't it?"
/>
</LinearLayout>
Pour plus de références, vous pouvez lire cet article : Comprendre les thèmes et les styles Android
2. Utiliser des classes personnalisées
Il existe une autre façon d'y parvenir, qui consisterait à fournir votre propre TextView
qui définissent toujours la couleur du texte comme vous le souhaitez ; par exemple :
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.widget.TextView;
public class RedTextView extends TextView{
public RedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setTextColor(Color.RED);
}
}
Ensuite, vous devez juste le traiter comme un normal TextView
dans votre fichier XML :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<org.example.RedTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is red, isn't it?"
/>
</LinearLayout>
L'utilisation de l'un ou l'autre choix dépend de vos besoins. Si la seule chose que vous voulez faire est de modifier l'apparence, alors la meilleure approche est la première. En revanche, si vous souhaitez modifier l'apparence et ajouter de nouvelles fonctionnalités à vos widgets, la deuxième approche est la plus appropriée.
1 votes
J'ai mis à jour ma question pour qu'elle soit plus complète.
0 votes
Je fais quelque chose de similaire ICI !!! stackoverflow.com/questions/17103894/