Comment personnaliser la couleur de la couleur CheckMark dans Android dans une boîte de dialogue. Actuellement, Par défaut, la couleur de la coche est verte par défaut. Je voudrais le personnaliser à une autre couleur de choixComment personnaliser la couleur de la couleur CheckMark dans Android dans une boîte de dialogue. : android
Répondre
Vous devez remplacer les styles de widget case à cocher par des ressources modifiables modifiables. Voici un bon guide pour commencer par styles/thèmes http://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/
Si vous regardez le styles.xml from android system, vous verrez que le style de case à cocher est définie comme suit:
<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>
Et si vous recherchez les ressources du système, vous verrez que btn_check est un sélecteur drawable avec 2 états (on/off) avec le chèque coloré en vert ou pas.
Donc, si vous voulez avoir votre propre couleur thermoformable, voici ce que vous devez faire:
- créer un styles.xml
- définissent les 2 dessinables à utiliser
- créer le fichier XML supportant le sélecteur
vous trouverez la documentation complète très détaillée sur the android google doc.
pour changer la case à cocher dans une boîte de dialogue à choix multiples, vous avez besoin d'un adaptateur pour votre dialogue, afin d'avoir accès aux vues de la liste. Ensuite, vous appelez la méthode setCheckMarkDrawable
de la classe CheckedTextView.
Voici un exemple:
fichier default_checkbox.xml
intérieur 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>
Fichier 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;
}
}
}
REMARQUE: Si vous utilisez simplement AlertDialog
, puis avant d'obtenir le ListView
, vous appelez show
, d'abord, comme expliqué ci-dessus. Toutefois, si vous utilisez DialogFragment
et onCreateDialog
, vous obtenez le ListView
, à l'intérieur onStart
.
- 1. comment appliquer la couleur dans le message texte dans la boîte de dialogue d'alerte dans Android
- 2. boîte de dialogue de couleur
- 3. Activité Android dans la boîte de dialogue
- 4. Comment puis-je configurer la couleur du texte dans une boîte de dialogue
- 5. Android - Comment programmer la couleur des boutons
- 6. Android Réessayer/Annuler la boîte de dialogue
- 7. Personnaliser le dialogue Java Couleur, Apparence, Thème
- 8. comment donner une couleur de fond à textview dans Android?
- 9. Définir la couleur de l'étendue TextView dans Android
- 10. Windows Phone 7 - couleur Silverlight Checkmark
- 11. Comment remplir l'objet bitmap avec la couleur dans Android
- 12. Comment changer la couleur d'arrière-plan d'un TextView dans Android?
- 13. Comment définir la couleur d'un TextView dans Android?
- 14. Android: personnaliser le menu de l'application (par exemple la couleur de fond)
- 15. toile fingerpaint Android couleur
- 16. Pour personnaliser la couleur de UITabBar dans Xcode
- 17. Rendre l'activité Android ressemble à une boîte de dialogue
- 18. Modifier ListView sélectionné la couleur sur Android
- 19. android tabhost couleur personnalisée
- 20. comment fermer la boîte de couleur dans iframe?
- 21. Personnaliser la couleur de UISlider dans l'application iPhone
- 22. Changer la couleur de la police runtime Android
- 23. Android CheckedTextView - Définir Checkmark dynamiquement
- 24. Comment créer un Dialogue/Popup entièrement personnalisé sous Android (changer la couleur de surimpression et la disposition de la fenêtre de dialogue)
- 25. Comment créer une boîte de dialogue de style dialer dans la barre de titre personnalisée Android?
- 26. Comment personnaliser l'en-tête d'une boîte de dialogue
- 27. taille de contrôle de boîte de dialogue d'alerte dans android
- 28. Changer la couleur du texte de la liste en android
- 29. Personnalisation de la boîte de dialogue DatePicker Android
- 30. Comment utiliser l'utilisation des codes de couleur cmyk dans Android?
Salut, je ne pouvais toujours pas réussir à implémenter la solution. – Karthik
Pouvez-vous s'il vous plaît m'aider avec un peu plus d'informations concernant la même chose. J'ai collé un exemple de fichier Java pour le même. S'il vous plaît aidez-moi ce que exactky je dois faire pour avoir ma couleur de case à cocher pour être changé en une autre couleur au lieu de rouge. – Karthik
AlertDialog.Builder checkbox_dialog = new AlertDialog.Builder ( \t \t \t \t \t DialogCheckBox.this); \t checkbox_dialog.setTitle ("Le titre principal va ici"); \t \t \t \t \t \t checkbox_dialog.setMultiChoiceItems (myitems, choiceitems, \t \t \t \t \t nouvelle DialogInterface.OnMultiChoiceClickListener() { \t \t \t \t \t \t public void onClick (dialogue DialogInterface, int qui, \t \t \t \t \t \t \t \t isChecked Boolean) { \t \t \t \t \t \t \t Log.d ("TAG", "éléments sélectionnés"); \t \t \t \t \t \t} \t \t \t \t \t}); – Karthik