web-dev-qa-db-fra.com

Définir la couleur de la bordure et de l'arrière-plan du texte

J'ai un TextView défini en XML et je voudrais lui attribuer une couleur d'arrière-plan ET une bordure. Le problème que j'ai est qu'en XML j'utilise déjà Android:background pour définir la ressource de bordure, donc je ne peux pas l'utiliser à nouveau pour la couleur d'arrière-plan. Quelqu'un peut-il me guider dans la bonne direction?

Border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
   <solid Android:color="#ffffff" />
   <stroke Android:width="1dip" Android:color="#7F000000"/>
</shape>

Affichage

<TextView
        Android:id="@+id/editor_title"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentTop="true"
        Android:background="@drawable/title_border"         
        Android:padding="5dp"
        Android:text="@string/editor_title"               
        Android:textAppearance="?android:attr/textAppearanceMedium" />
15
cutoff

Vous devez créer un XML dessinable pour cela, qui peut ensuite être défini comme arrière-plan unique. Voici ce que vous voulez (un rectangle avec une bordure de couleur différente - remplacez le dégradé par si vous ne le souhaitez pas).

Cela ira dans votre dossier 'drawable':

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:shape="rectangle">
    <stroke Android:width="3dp" Android:color="@color/blue_button_border" />
    <gradient
      Android:startColor="@color/gradient_end"
      Android:endColor="@color/gradient_start"
      Android:angle="-90" /> 
</shape>
30
Booger

Via Java:

TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");    

TextView test = (TextView) view.findViewById(R.id.textView2);
test.setBackgroundResource(R.color.holo_green_light);

Via XML:

 <TextView
        Android:text="2"
        Android:textSize="200sp"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent"
        Android:id="@+id/textView2"
        Android:style="@style/textviewStyle" 
        Android:background="@Android:color/holo_green_light"
        Android:gravity="center"
        Android:textColor="#EEEEEE"
        Android:layout_alignParentRight="true" />

Ceci est la page API sur ce sujet: http://developer.Android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml

3
Deepak