Android - SurfaceView (largeur, hauteur) problème
Im nouveau sur android et im face à certains problèmes...
Im en utilisant un SurfaceView étendre ma classe.
Dans ma classe, je ne peux pas obtenir la largeur et la hauteur de la SurfaceView.
Il est toujours 0. Im essayant de feuilleter une image sur la totalité de l'écran (surfaceView), mais im pas pu obtenir sa largeur et sa hauteur.
Des suggestions?
Voici le code pour SurfaceView dans main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<test.MyClass android:id="@+id/SurfaceView01"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</test.MyClass>
</LinearLayout>
OriginalL'auteur no9 | 2011-02-23
Vous devez vous connecter pour publier un commentaire.
J'ai essayé chose de similaire et posté sur ce fil Android: les éléments de l'INTERFACE utilisateur sur toile de couche
En dehors de ci-dessus vous aussi, vous avez besoin pour obtenir la hauteur et la largeur
si vous ne voulez tirer votre code dans OnDraw vous pouvez essayer de code ci-dessous
Mais cela vous donnera la largeur la hauteur de l'ensemble de la zone visible
pourquoi ne peux-tu créer une image en onDraw
doit être un habbit de j2Me onPaint ... ce n'est pas le même est-il? 🙂
J'ai édité le code, vous pouvez ne pas essayer l'une de sorte que votre image n'est pas créé à chaque fois que l'ondraw est appelé
je suis tombé sur ce code, mais getWindowManager() n'est pas reconnue dans ma classe qui étend la classe SurfaceView?
OriginalL'auteur ingsaurabh
Vous pouvez essayer de la mise en œuvre de la surfaceChanged méthode (qui est appelée à tout moment la surface est redimensionnée, y compris lorsqu'il est initialisé):
http://developer.android.com/reference/android/view/SurfaceHolder.Callback.html#surfaceChanged(android.view.SurfaceHolder, int, int, int)
Viens de faire:
OriginalL'auteur snapfractalpop
La solution que j'ai trouvé a fonctionné pour moi avec ce était d'utiliser getHeight() et getWidth() à l'intérieur de mon SurafaceCreated méthode, après que j'ai commencé mon fils. Cela m'a permis d'avoir de la Hauteur et la Largeur de la surface d'affichage avant toute mise à jour ou le dessin a eu lieu.
OriginalL'auteur KRB
Utilisation
surfaceView.getHolder().getSurfaceFrame()
pour obtenir leRect
objet avec les taillesOriginalL'auteur pleerock