J'ai une vue de surface pour dessiner. Ma vue prend en charge la fonctionnalité de zoom avant/arrière. Maintenant, lorsque l'utilisateur effectue un zoom avant/arrière par un geste du doigt, je veux redimensionner la surface, j'ai essayé de redimensionner en modifiant les paramètres de disposition de surface. Bien que cela fonctionne, mais c'est lent, et tout en faisant le travail de redimensionnement, je vois de gros sauts (décalages), ce qui n'est pas utilisable. Ici, je veux savoir comment puis-je redimensionner la surface de manière efficace (sans ce saut)?Modification de la taille de la vue lors de l'exécution efficacement
Ici sniped de ma structure de vue,
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_above="@+id/bottomMenu"
android:layout_height="match_parent">
<MySurfaceView
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</FrameLayout> ...
Et les params changer le code,
ViewGroup.LayoutParams params = surface.getLayoutParams();
params.height = (int) (750*factor);
surface.setLayoutParams(params);
Avez-vous envisagé d'utiliser ['TextureView'] (https://developer.android.com/reference/android/view/TextureView.html)? – azizbekian
Référez-vous http://stackoverflow.com/a/21282056/4069985 –