Android text ändern, Farbe der Schaltfläche programmgesteuert
Ich bin erstellen button dynamisch in linearlayout horizontalscrollview und klicken Sie auf auf ich bekomme Schaltfläche ausgewählte position.
Möchte ich wissen, wie Sie text ändern, Farbe der ausgewählten Taste?
Hier ist mein code.
String[] categories = {"SUN","MON", "TUS", "WED", "THU", "FRI", "SAT", "SUN","MON", "TUS", "WED", "THU", "FRI", "SAT"};
private LinearLayout ll;
Button btn;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ll = (LinearLayout) findViewById(R.id.hsvLinearLayout);
for(int i = 0; i < categories.length; i++) {
btn = new Button(this);
btn.setText(categories[i]);
btn.setBackgroundColor(Color.parseColor("#ffffff"));
btn.setOnClickListener(buttonClick);
ll.addView(btn);
int idx = ll.indexOfChild(btn);
btn.setTag(Integer.toString(idx));
//btn.setId(idx);
}
}
OnClickListener buttonClick = new OnClickListener() {
public void onClick(View v) {
String idxStr = Integer.toString(ll.indexOfChild(v));
//(String)v.getTag();
Toast.makeText(MainActivity.this, idxStr, 6000).show();
}
};
- Sie sind OK mit einer Lösung, die nutzt xml definiert die Stile, die Sie programmgesteuert oder haben Sie alles in der java-code?
Du musst angemeldet sein, um einen Kommentar abzugeben.
überprüfen Sie den Typ und weisen Sie die text-Farbe
.setTextColor(Color.parseColor("#000000"));
funktioniert der trick. Beachten Sie, dass.setTextColor(R.color.colorname);
ist momentan nicht funktioniert (01/2019).versuchen, diese
Editiert Antwort
bitte überprüfen Sie die folgende Antwort hier und hier .
wie Sie sehen können, Sie können es tun, programmatisch und durch xml durch die Schaffung einer Stil-Datei für alle Status der Schaltfläche .
Hoffe, das hilft