Personnalisé ProgressDialog s'étend de Dialogue ou ProgressDialog?
Je suis simplement en train d'essayer de créer une filature boîte de dialogue de progression. Pas de texte, pas de frontières, pas de fond. Juste un coup de notification qui est légèrement centre de l'écran sur le dessus du contenu.
J'ai vu deux différentes Débordement de Pile questions dans la création de cette boîte de Dialogue personnaliser.
Ils utilisent ce style:
<style name="NewDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:colorBackground">#ffffff</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:width">600dip</item>
<item name="android:height">100dip</item>
<item name="android:textColor">#FF0000</item>
</style>
Mais dans le Java côté, on étend Dialogue et contient beaucoup de contenu personnalisé, l'autre est simplement ceci:
public class MyProgressDialog extends ProgressDialog {
public MyProgressDialog(Context context) {
super(context, R.style.NewDialog);
}
}
Sur le premier (s'étend de Dialogue), j'obtiens un vide. Aucune boîte de dialogue. Rien. Sur l'exemple de code juste au-dessus, j'obtiens un rétrécissement petite boîte de dialogue qui tourne dans une boîte noire, c'est-off centré.
La méthode qui est plus correct et puis-je avoir un exemple sur la façon de mettre en œuvre cette?
Aussi, comment puis-je faire de cette boîte de dialogue transparent/sans marge?
OriginalL'auteur KickingLettuce | 2012-10-12
Vous devez vous connecter pour publier un commentaire.
La "bonne" façon de faire serait d'étendre DialogFragment http://developer.android.com/reference/android/app/DialogFragment.html
Si vous n'êtes pas à l'aide de la bibliothèque de compatibilité, vous n'êtes pas de la programmation dans le courant Android monde.
Si vous souhaitez étendre la boîte de Dialogue, puis-je avoir un exemple de code ici: https://github.com/tom-dignan/nifty/tree/master/src/com/tomdignan/nifty/dialogs Dans ce code, j'ai mis en place une sorte de "boîte de dialogue de progression" par l'extension de la boîte de Dialogue. Je prolongée boîte de Dialogue parce que je voulais le plein contrôle et voulais que ma boîte de Dialogue pour être en plein écran.
Je vous recommande de lire ci-dessus DialogFragment doc et de l'aide que, si.
Alors, vraiment, il n'y a pas de bonne ou de mauvaise façon ici. L'extension de l'une des trois classes de travail, mais le plus propre et le plus actuel serait le DialogFragment approche.
Aussi, va étendre DialogFragment aider dans le look custom je suis en train de créer? Transparent/sans marge?
Vous avez le contrôle complet sur qu'avec des styles et des thèmes: DialogFragment.STYLE_NO_TITLE, DialogFragment.STYLE_NO_FRAME etc. Vous avez le contrôle complet sur la vue que vous créez dans onCreateView. ASTUCE: Si vous faites quelque chose de "transparent" pour la portabilité, utilisez #00000100
OriginalL'auteur Thomas Dignan
Une façon de le faire est d'utiliser une boîte de dialogue personnaliser, la fonction de demande de No_Title et de définir l'arrière-plan dessiné des ressources transparent.
Vous pouvez utiliser le code suivant, j'ai juste écrit et testé sur Android 4.0.3 ICS.
Le xml de mise à disposition du dossier de, dire dialog_progress.xml
Le code java pour afficher la boîte de dialogue et le rendre transparent est comme suit.
OriginalL'auteur HyprGeek
Quelque chose de similaire peut être réalisé très facilement à l'aide de image-par-image de l'animation sur une ImageView au lieu de faire personnalisé boîte de dialogue de progression. Pour cela, vous avez juste besoin d'une séquence d'images(peut être extraite à partir de n'importe quel gif). Et puis vous pouvez appliquer une image-par-image de l'animation. Il va faire exactement ce que vous voulez.
J'ai fait quelque chose de similaire avec le code ci-dessous -:
//XML pour en animation image par image
Code Java pour l'animation de démarrage :-
Espère que cela aide !
OriginalL'auteur Vipul J