Comment créer de la circulaire de la barre de progression(graphique) comme indicateur - Android
Maintenant, j'ai l'horizontale de la barre de progression qui est mis à jour par programmation via ProgressBar
setProgress
méthode:
<ProgressBar
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="20dip"
android:id="@+id/progressbar"
>
</ProgressBar>
Est-il un moyen de convertir cette barre de progression à un cercle (graphique) et pour être en mesure de mettre à jour l'avancement par programmation?
Exemple de ce que je veux:
- voulez-vous dire que vous voulez un cercle d'activité?? comme le tour de celui illustré ici: developer.android.com/design/building-blocks/progress.html Si non, pouvez-vous montrer une photo de ce que tu veux dire?
- et pour être en mesure de mettre à jour l'avancement par programmation? -ce que u veux dire par là
- K N : mise à Jour proogress par programmation: par exemple à chaque 2 secondes je veux remplir le cercle avec un peu de couleur; il est très similaire à ce qui est dans cette image: 3.bp.blogspot.com/_sfxUTOTXTng/TQxMiOjIkNI/AAAAAAAAACo/... , mais je veux être dans un cercle.
- Higginson: je veux mettre à jour la barre de progression de l'indicateur de temps en temps, disons à chaque 2 secondes.
- aaah.. si vous voulez (par manque d'un meilleur description) un graphique circulaire qui va vers 100%. Assez sûr de ce qui n'existe pas dans la norme android vues. vous pourriez avoir besoin de rouler vous-même? ou peut-être aller à la recherche pour android bibliothèques d'extension.. peut-être que quelqu'un a déjà fait un?
- est-il un endroit spécial où je peux trouver android bibliothèques d'extension ou j'ai tout simplement besoin de google (que j'ai déjà fait, mais sans succès...) ?
InformationsquelleAutor Paul | 2012-09-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer un affichage personnalisé (par exemple, PieProgressView) ou une personnalisée Drawable (par exemple PieProgressDrawable). J'ai pris l'affichage personnalisé approche, mais il est parfaitement viable.
Un rapide coup d'oeil à la source pour Android ProgressView donne une sauvagement mise en œuvre complexe. De toute évidence, ils couvrent l'ensemble de leurs bases, mais vous n'avez pas à écrire quelque chose de complexe. Nous avons vraiment seulement besoin de deux choses:
Numéro un est facile, il suffit de garder un champ de membre qui permet de suivre le pourcentage actuel de la tarte à dessiner. Le numéro 2 est un peu plus compliqué, mais, heureusement, nous pouvons le faire avec les standards de la Toile dessiner des méthodes.
Idéalement, Android Toile classe fournit un drawArc() méthode. Vous pouvez l'utiliser pour obtenir votre Tarte effet. En supposant que nous stockées notre pourcentage dans un champ appelé mPercent comme flottant entre 0 et 1, une
onDraw()
méthode pourrait ressembler à ceci:Voici ce que le complété vue ressemble à un exemple d'application:
Modifier
Puisque l'envoi, j'ai décidé il n'y a vraiment aucune raison que vous devez mettre en œuvre un affichage personnalisé. Vous pouvez tout simplement utiliser un drawable et c'est au niveau de la propriété de faire exactement ce qui est nécessaire. J'ai fait un gist avec la pleine drawable.
Vous épargner un peu de temps et avant de le ré-inventer la roue (ou l'indicateur de progression), vérifier si l'un au http://github.com/Sage42/AndroidViewUtils qui fonctionne pour vous. Il suffit de l'ajouter à votre projet et avoir du plaisir. Il est personnalisable et offre des options de Comptage ou de compter ainsi.
J'ai oublié d'ajouter que les visuels ressemble presque exactement comme l'image de l'échantillon à partir de votre question.
Essayer ce morceau de code pour créer la circulaire de la barre de progression(graphique). transmettre la valeur entière de tirer combien de pour cent de la zone de remplissage. 🙂
Pour une circulaire de la barre de progression, l'utilisation:
Plus de détails peuvent être trouvés ici: Quel est le sens de android:progressBarStyle attribut dans ProgressBar?
Que pour l'établissement de ses progrès: la circulaire de la barre de progression va continuer de tourner. Tout simplement cacher dès qu'il n'est plus nécessaire.
Ou vous pourriez mettre en œuvre quelque chose de personnalisé: montrer un TextView à côté de lui et le mettre à jour au lieu d'utiliser la Progressbar.setProgress.
Même si c'est une vieille question, j'espère que cette réponse peut aider les futurs téléspectateurs.
Découvrez cette bibliothèque - https://github.com/lzyzsd/CircleProgress
Pour une simple circulaire progrès, dynamique ou statique, cette lib est assez simple et possède de nombreux attributs pour faciliter la personnalisation (comme la largeur du trait, de l'angle de départ, à l'intérieur d'arrière-plan, la couleur du texte, etc). Pour l'INTERFACE utilisateur de l'OP voulait atteindre cette bibliothèque, ce serait parfait.