2013-03-13 21 views
14

Ho un oggetto TextView definito in XML e vorrei impostare il bordo dello sfondo del colore AND su di esso. Problema che ho è che in XML già uso android:background per l'impostazione della risorsa di confine, quindi non posso usarlo ancora una volta per il colore di sfondo. Qualcuno può guidarmi per favore nella giusta direzione?Imposta il colore del bordo e dello sfondo del testoView

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> 

TextView

<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" /> 

risposta

29

È necessario creare un disegnabile XML per questo, che può quindi essere impostata come sfondo unico. Ecco cosa desideri (un rettangolo con un bordo di colore diverso: sostituisci il gradiente con se non vuoi).

Questo andrà nella cartella 'disegnabile':

<?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> 
3

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" /> 

Questa è la pagina API su questo argomento: http://developer.android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml

Problemi correlati