2017-05-12 3 views
1

Ich bin fest. Im Layout füge ich vom Code TextViews hinzu. Ich habe eine Liste von Elementen und ich füge TextViews von Elementen aus der Liste hinzu. Das funktioniert gut. Jetzt habe ich ein Problem, weil diese Textansichten Hintergrund mit verschiedenen Farben haben sollten, hängt vom Namen ab. So habe ich definiere 6 Farben inIdee für erstellen eckigen textview mit verschiedenen Farben in android

<resources> 
    <string-array name="colors">   
     <item>#ff0000</item> 
     <item>#00ff00</item> 
     <item>#0000ff</item> 
    </string-array> 
</resources> 

Als ich

verwenden
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" >   
    <stroke 
      android:width="1dp" 
      android:color="@color/common_border_color" /> 

    <solid android:color="#ffffff" /> 

    <padding 
      android:left="1dp" 
      android:right="1dp" 
      android:top="1dp" /> 

    <corners android:radius="5dp" /> 
</shape> 

für den Hintergrund ich nicht Farben ändern kann. Irgendwelche Ideen?

Antwort

1

Wenn der Hintergrund Ihrer TextView ein shape ist, können Sie den Hintergrund oder Grenze davon ändern, indem

GradientDrawable gradientDrawable = (GradientDrawable)textView.getBackground(); 
gradientDrawable.setColor(Color.parseColor("#ff0000"));  // change the background color of your TextView to red 
gradientDrawable.setStroke(20, Color.parseColor("#0000ff")); // change the border of your TextView to blue, 20 is the width of the border 
0

ich nicht genau wissen, was Sie wollen. Aber Sie können Code unten versuchen:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 

     <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle"> 
      <gradient 
       android:angle="45" 
       android:centerColor="#ff0000" 
       android:endColor="#00ff00" 
       android:startColor="#0000ff" 
       android:type="linear" /> 
      <corners android:radius="5dp"/> 

     </shape> 
    </item> 
    <item android:top="1dp" android:left="1dp" 
     android:bottom="1dp" android:right="1dp"> 
     <shape android:shape="rectangle"> 
      <corners android:radius="5dp"/> 
      <solid android:color="#aaaaaa" /> 
     </shape> 
     </item> 
</layer-list> 

Ergebnis: enter image description here

+0

Ich möchte zum Beispiel 5 Textviews Textviews von Code hinzuzufügen. Jede Textansicht sollte einen gerundeten Hintergrund und eine andere Hintergrundfarbe haben. Zum Beispiel: die erste Textansicht hat einen gelben Hintergrund, einen zweiten roten Hintergrund usw. Der gesamte Hintergrund sollte gerundet sein – edi233

Verwandte Themen