2010-08-16 4 views
2

J'ai recherché dans la liste de discussion (sans parler de l'interwebs ad nauseum) et je n'arrive pas à trouver une réponse et/ou un exemple. Je dois être en mesure d'exposer une partie d'un ListView dans la partie inférieure de l'écran, puis (comme SlidingDrawer) afficher le reste de la liste si l'utilisateur se déplace vers le haut.Partiellement "ouvert" SlidingDrawer

SlidingDrawer a le comportement que je veux, mais ne semble pas avoir le moyen de contrôler à quel point il est ouvert ou fermé (peut-être que je le manque).

J'ai expérimenté l'utilisation d'Animations pour ouvrir et fermer la liste. Cela fonctionne (la plupart du temps) sauf que je dois faire face à des problèmes de défilement de liste car l'animation de la vue ne semble pas réinitialiser sa zone de défilement à sa zone visible.

Est-ce que quelqu'un a un exemple de quelque chose comme décrit ci-dessus? Ou un pointeur vers des morceaux pour me remettre dans la bonne direction?

Merci d'avance.

Répondre

1

SlidingDrawer ne supporte pas cela. Vous pouvez simplement créer votre propre :)

+0

Est-ce que le chemin d'un LinearLayout d'éléments enveloppés dans un ScrollView constituerait un chemin raisonnable vers la solution? – Sasq

+0

Remarque: la liste à afficher ne contient pas un grand nombre d'éléments (généralement moins de 2 écrans de données) si cela est pertinent. – Sasq

+0

Salut Sasq visiter ce projet sur github https://github.com/AshwinNBhanushali/Partial-SlidingDrawer/tree/master/PartialSlidingDrawer –

0

J'ai modifié le code source du widget tiroir coulissant et testé son fonctionnement bien.Si quelqu'un veut simplement me donner votre identifiant email. suivi attrs.xml sera nécessaire dans votre projet où vous allez modifier le code.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="SlidingDrawer"> 
     <attr name="handle" format="integer"/> 
     <attr name="content" format="integer"/> 
    </declare-styleable> 
</resources> 
+0

Pourriez-vous poster votre version modifiée à un site comme http://gist.github.com/? J'essaie de mettre en œuvre quelque chose de similaire et j'apprécierais de ne pas avoir à réinventer la roue. –

+0

Je seconde cela. Avez-vous ce code posté n'importe où? –

+0

Peu de retard, mais j'aimerais bien la modification! –