Vous êtes sur la page 1sur 9

private void

addAccordionItem(String title,
String[] items, int imageResId) {
// Crée l'en-tête de l'accordéon
TextView header = new
TextView(this);
header.setText(title);
header.setTextColor(getResourc
es().getColor(R.color.black));
header.setBackgroundColor(get
Resources().getColor(R.color.gra
y));
header.setPadding(20, 20, 20,
20);
header.setTextSize(TypedValue.
COMPLEX_UNIT_SP, 18);
header.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// Ferme tous les autres
accordéons ouverts
for (int i = 0; i <
accordionContainer.getChildCou
nt(); i++) {
View child =
accordionContainer.getChildAt(i);
if (child instanceof
LinearLayout && child !=
v.getParent()) {
child.findViewById(R.id.accordio
n_content).setVisibility(View.GO
NE);
}
}

// Ouvre ou ferme
l'accordéon actuel
View content =
((ViewGroup)
v.getParent()).findViewById(R.id.
accordion_content);
if (content.getVisibility()
== View.VISIBLE) {
content.setVisibility(View.GONE);
} else {
content.setVisibility(View.VISIBL
E);
}
}
});

// Crée le contenu de
l'accordéon
LinearLayout content = new
LinearLayout(this);
content.setId(R.id.accordion_con
tent);
content.setOrientation(LinearLay
out.VERTICAL);
content.setVisibility(View.GONE);
content.setPadding(20, 0, 20,
20);
// Ajoute l'image à l'accordéon
ImageView imageView = new
ImageView(this);
imageView.setImageResource(i
mageResId);
content.addView(imageView);

// Ajoute les éléments de la


liste au contenu de l'accordéon
for (String item : items) {
TextView textView = new
TextView(this);
textView.setText(item);
textView.setTextColor(getResour
ces().getColor(R.color.black));
content.addView(textView);
}

// Ajoute l'en-tête et le contenu


de l'accordéon au conteneur
d'accordéon
LinearLayout accordionItem =
new LinearLayout(this);
accordionItem.setOrientation(Lin
earLayout.VERTICAL);
accordionItem.addView(header);
accordionItem.addView(content);
accordionContainer.addView(acc
ordionItem);
}

Vous aimerez peut-être aussi