2014-01-30 13 views
5

(Entschuldigung für meine Sprache, ich bin Französisch)Wie ändert man die Strichfarbe dynamisch?

Ich muss die stroke color eines Shape ändern. Ich habe das gleiche Problem beschrieben here. Ich muss die Volltonfarbe ändern, wenn der EditText nicht korrekt ist.

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" android:padding="10dp"> 
    <solid android:color="#FFFFFF"/> 
    <corners 
     android:bottomRightRadius="5dp" 
     android:bottomLeftRadius="5dp" 
     android:topLeftRadius="5dp" 
     android:topRightRadius="5dp"/> 
    <stroke android:width="2px" android:color="#CCCCCC"/> 
</shape> 

Die Antwort:

GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground(); 
myGrad.setColor(Color.BLACK); 

Problem in der Antwort, die ich nicht verstehe die Rechteck Artikel. Wenn ich es durch den EditText ersetze, wird es auf den Hintergrund und nicht auf den durchgehenden Hintergrund angewendet.

Vielen Dank im Voraus.

EDIT: Mein Bad, ich möchte die Stroke Farbe ändern, nicht fest.

+0

Sie meinen Grenze ist nicht sichtbar ?? –

+0

Ja, es ist sichtbar, er ist Schwarz. Ich muss die Farbe auf rot ändern. – user3252731

+0

Ich denke, Sie sind Schlaganfall mit solid. Versuchen Sie mein Ans und lassen Sie mich wissen, wenn Sie nach etwas anderem suchen. –

Antwort

12
GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground(); 
myGrad.setStroke(2, Color.RED); 
+4

können Sie nur die Farbe ändern und die ursprüngliche Strichstärke beibehalten? –

+1

Wenn Sie die Strichstärke und Farbe einstellen, müssen Sie vorsichtig mit der Dichte sein. Ich denke nicht, dass myGrad.setStroke (2, Color.RED) dasselbe ist wie "2dp" – lostintranslation

Verwandte Themen