Je souhaite modifier la position de la flèche par défaut qui apparaît dans la vue Groupe de l'expansionListeView. Je veux que ce soit à droite au lieu d'être à gauche. P>
Comment cela peut-il être fait? p>
5 Réponses :
Il n'y a pas de mauvaise façon de faire cela. p>
MindicatorLeft et MindicatorRight sont les deux champs de la classe ExpandablicatView qui gèrent l'emplacement de l'icône de l'indicateur et sont des champs privés. Malheureusement, la position de l'indicateur n'est pas définie dans une mise en page soigneusement définie comme prévu, mais est déterminée sur DispatchDraw () dans la vue ExtensibleList. Un rectangle est dessiné à l'aide des valeurs supérieure / bas et inférieure et MindicatorRight et MindicatorLeft, l'icône Indicateur est dessinée dans ce rect. Vous devez modifier la position de ce record obj nommé 'IndicatorRect' pour déplacer votre icône Indicateur. p>
Pour avoir une idée de choses que vous pouvez voir cet exemple http://developer.android.com/resources/samples/aplidemos/src/com/example/android/apis/view/expandablelist1.html Changer la valeur du remplissage TextView à 0 dans GetGenericView () Dans l'exemple, vous verrez que l'indicateur chevauchera le texte. P>
Votre seule option consiste à obtenir le code source de WeandableLisview et à définir vous-même ces valeurs MindicatorRight et MindicatorLeft en réglant le MindicatorRight en tant que élément.GetRight () et MindicatorLeft comme élément.GetTright () - "Votre taille d'icône". P >
En fait, il y a un moyen simple.
Modifiez votre XML lié à la vue sur le groupe comme ceci: p>
@Override public View getGroupView(final int groupPosition, final boolean isExpanded, final View convertView, final ViewGroup parent) { View v; if (convertView == null) { v = newGroupView(isExpanded, parent); } else { v = convertView; } bindView(v, mGroupData.get(groupPosition), mGroupFrom, mGroupTo); ((ImageView) v.findViewById(R.id.videos_group_indicator)) .setImageResource(isExpanded?R.drawable.videos_chevron_expanded:R.drawable.videos_chevron_collapsed); return v; }
Que mettez-vous dans la balise indicatrice à l'intérieur de l'expansionListeView une?
Android: groupindicator = "@ null" code>
@Nagarjunareddy: Je suis désolé, quoi?
@Bicou Voir ce Stackoverflow.com/questions/15501413/...
Utilisez Seindicatorbounds : p>
Définit les limites de dessin des indicateurs (au minimum, le groupe l'indicateur est affecté par cela; L'indicateur enfant est affecté par cette Si l'indicateur enfant limite est réglé sur hériter). P> blockQuote>
Essayez ceci et le getdipsfrompixel code> est ici p>