Je suis nouveau dans le développement Android, donc j'ai pris les choses au cours des derniers mois.Quelle est la meilleure/bonne façon de superposer des images
L'application que j'écris nécessite l'affichage de 2 images, l'une au-dessus de l'autre. L'image sur le dessus a des zones transparentes où je veux que l'image ci-dessous apparaisse.
Le problème est que je ne suis pas sûr de la méthode correcte pour le faire.
Le code que j'ai écrit à l'origine ressemble à quelque chose comme ceci:
// background worker thread Run() method
Canvas canvas = null;
try
{
canvas = _surfaceHolder.lockCanvas(null);
synchronized(_surfaceHolder)
{
canvas.drawBitmap(_backgroundBitmap, 0, 0, null);
// ...
canvas.drawBitmap(_foregroundBitmap, 0, 0, null);
}
}
finally
{
if(canvas != null)
_surfaceHolder.unlockCanvasAndPost(canvas);
}
Bien que cela fonctionne, j'ai lu depuis sur la façon dont peut être réalisé en utilisant un ImageView positionné la même chose au-dessus de la vue associée à l'application dans le fichier xml mise en page des activités principales:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- This is the surface where the application is responsible for drawing to -->
<com.test.MainAppView
android:id="@+id/mainView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<!--
This is where a foreground graphic could be displayed which allows me
to remove the drawBitmap() code from the Run() method shown above.
-->
<ImageView
android:id="@+id/foregroundgraphic"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</FrameLayout>
Donc, ma question est vraiment quelle est la bonne méthode? Est-ce que l'un est plus rapide que l'autre?
Toutes les pensées seraient appréciées.
:-)
Un grand merci, Wayne.
Ok, merci pour le conseil. C'est bien d'avoir la certitude que ce que j'ai fait est correct. – Wayne