2011-04-20 4 views
0

J'ai créé une mise en page dans myviewlay.xml mais cela ne fonctionne pas, que manque-t-il?Android Bitmap OnDraw

 protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 

     imageBack = BitmapFactory.decodeResource(getResources(), R.layout.myviewlay, null); 
    } 
+0

Je suis nouveau à android, j'essaie juste de placer la mise en page que j'ai créé ... en ce moment, il montre juste un écran noir .. - user710502 – user710502

Répondre

2

Ajouter ce faire le dessin réel:

canvas.drawBitmap(imageBack, x, y, mPaint); //replace x,y,and mPaint with whatever you need to. 

Cependant, si vous essayez d'afficher une mise en page entière utiliser setContentView(imageBack) ou quelque chose de similaire. Il est recommandé de faire votre mise en page en XML.

Mise à jour: Désolé, je vous ai mal compris au début. Il semble que vous essayez de gonfler une mise en page à partir de XML. Dans ce cas, dans votre onCreate(), appelez

+0

Wow je vous remercie J'ai été capable de le faire avec le drawBitmap ..., puis-je ajouter des vues d'image de l'OnDraw et si oui, comment? – user710502

+0

S'il vous plaît voir ma mise à jour. C'est BEAUCOUP mieux de le faire avec setContentView() comme je l'ai mentionné. Mettez tout votre bâtiment en onCreate onDraw. Pour ajouter un ImageView, créez un nouveau ImageView puis utilisez (une référence à votre vue parente) .addView (votre ImageView). Vous pouvez utiliser onDraw pour ajouter des images telles que des bitmaps et une géométrie simple. Consultez cette ressource pour l'aide onDraw: http://developer.android.com/guide/topics/graphics/2d-graphics.html Et assurez-vous de parcourir le reste du site aussi! Bonne chance à apprendre Android. – Amplify91