Wie die Farbe der CheckMark Farbe in Android in einem Dialogfeld anpassen. Derzeit ist die Farbe des Häkchens standardmäßig grün. Ich möchte es auf eine andere Farbe der Wahl anpassenSo passen Sie die Farbe der CheckMark-Farbe in Android in einem Dialogfeld an. : android
Antwort
Sie müssen Checkbox Widget Stile mit modifizierten Zeichenressourcen überschreiben. ist hier guter Führer zu mit styles/Themen beginnen http://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/
Wenn man sich die styles.xml from android system anschauen, werden Sie die Checkbox Stil definiert, dass sich wie folgt:
<style name="Widget.CompoundButton.CheckBox">
<item name="android:background">@android:drawable/btn_check_label_background</item>
<item name="android:button">@android:drawable/btn_check</item>
</style>
Und wenn Sie die Ressourcen der Suche System, Sie werden sehen, dass btn_check ist ein ziehbarer Selektor mit 2 Status (ein/aus) mit dem Scheck grün gefärbt oder nicht.
Also, wenn Sie Ihre eigene Farbe-ziehbar haben wollen, hier ist das, was Sie tun sollten:
- erstellen styles.xml
- definieren die 2 Drawables verwenden
- Unterstützung der Wähler die XML-Datei erstellen
Sie die vollständige Dokumentation ganz auf the android google doc. detaillierten finden
um das Kontrollkästchen in einem Multi-Choice-Dialog zu ändern, benötigen Sie einen benutzerdefinierten Adapter für Ihren Dialog, um den Zugang zu den Ansichten der Liste zu haben. Dann rufen Sie die Methode setCheckMarkDrawable
der Klasse CheckedTextView. Hier
ein Beispiel:
Datei default_checkbox.xml
innen res/drawable
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/checkbox_checked" /> <!-- checked -->
<item android:state_pressed="true"
android:drawable="@drawable/checkbox_checked" /> <!-- pressed -->
<item android:drawable="@drawable/checkbox_default" /> <!-- default -->
</selector>
Datei DialogUtil.java
package example.dialog;
import android.app.AlertDialog;
import android.content.Context;
import android.util.Log;
import android.view.*;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
public class DialogUtil {
private DialogUtil() {
}
public static AlertDialog show(Context context) {
String[] items = {"text 1", "text 2", "text 3"};
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Test")
.setPositiveButton("OK", null)
.setAdapter(new CustomAdapter(context, items), null);
AlertDialog dialog = builder.show();
ListView list = dialog.getListView();
list.setItemsCanFocus(false);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setOnItemClickListener(listener);
return dialog;
}
private static OnItemClickListener listener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i("DialogUtil", "Clicked on " + view);
}
};
private static class CustomAdapter extends ArrayAdapter<String> {
public CustomAdapter(Context context, String[] array) {
super(context, android.R.layout.simple_list_item_multiple_choice, array);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (view instanceof CheckedTextView) {
CheckedTextView checkedView = (CheckedTextView) view;
checkedView.setCheckMarkDrawable(R.drawable.default_checkbox);
}
return view;
}
}
}
HINWEIS: Wenn Sie einfach AlertDialog
verwenden, dann rufen Sie zuerst die ListView
show
, zuerst, wie oben erklärt.
Wenn Sie jedoch DialogFragment
und onCreateDialog
verwenden, dann erhalten Sie die ListView
, innerhalb onStart
.
- 1. So passen Sie die Listenelemente in einem Android AlertDialog an
- 2. So passen Sie die Breite der Navigationsleiste in Android Studio
- 3. So zeigen Sie benutzerdefinierte Dialogfeld in Android
- 4. So passen Sie Formularüberprüfungsfehler in codeIgniter an
- 5. So ändern Sie die Farbe von Zeichenformen in Android
- 6. So ändern Sie die Farbe der Listeneinträge
- 7. So passen Sie Eigenschaftsnamen in Javer an
- 8. So passen Sie die Währungsformatierung in MessageFormat in ICU4J an
- 9. So passen Sie die Authentifizierungsseite an:
- 10. So passen Sie einen UIPopoverController an
- 11. So erstellen Sie benutzerdefinierte Dialogfeld mit abgerundeten Ecken in Android
- 12. So passen Sie Push-Benachrichtigungen in Bluemix an
- 13. Android ICS-Dialogfeld Titelfarbe
- 14. So passen Sie die Textfarbe des CheckBoxPreference-Titels an
- 15. So passen Sie die Position einer Warnmeldung an
- 16. So zeigen Sie Daten an, die in Android
- 17. So passen Sie die horizontale Ellipse (...) in php an
- 18. So passen Sie die Fokusnavigation in einer ViewGroup an
- 19. Ändern Sie die Farbe der hervorgehobenen Text in Android
- 20. So passen Sie die Schaltfläche "Heute" in Kendo an:
- 21. Vollständig benutzerdefinierte Dialogfeld in Android
- 22. Kann OnClickListener nicht in einem Dialogfeld der Android-Anwendung festlegen
- 23. Ändern Sie die Farbe der Fortschrittsbalken in Android
- 24. So passen Sie Suchzeichenfolgen an Inhalte in Python an
- 25. Machen Sie Android-Aktivität sieht wie Dialogfeld
- 26. So ändern Sie die Warnung Dialog Kopfzeile Teiler Farbe android
- 27. So passen Sie das Share-Intent-OnClick-Ereignis in Android an
- 28. Passen Sie die Ansichtsgröße in UIViewController wie der UITableViewController an.
- 29. Android-Aktivität im Dialogfeld
- 30. So passen Sie WCF XML-Serialisierung an
Hallo, ich konnte immer noch nicht die Lösung implementieren. – Karthik
Können Sie mir bitte mit ein bisschen mehr Informationen in Bezug auf die gleichen helfen. Ich habe eine Beispiel-Java-Datei für die gleiche eingefügt. Bitte helfen Sie mir, was genau ich tun muss, um meine Checkbox-Farbe in eine andere Farbe anstatt in rot zu ändern. – Karthik
AlertDialog.Builder checkbox_dialog = new AlertDialog.Builder ( \t \t \t \t \t DialogCheckBox.this); \t checkbox_dialog.setTitle ("Haupttitel geht hier"); \t \t \t \t \t \t checkbox_dialog.setMultiChoiceItems (MyItems, choiceitems, \t \t \t \t \t neue DialogInterface.OnMultiChoiceClickListener() { \t \t \t \t \t \t public void onClick (DialogInterface Dialog, int die, \t \t \t \t \t \t \t \t boolean isChecked) { \t \t \t \t \t \t \t Log.d ("TAG", "Elemente werden ausgewählt"); \t \t \t \t \t \t} \t \t \t \t \t}); – Karthik