| |||||||
Das Thema "Tiles/PNGs darstellen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 02.10.2011
Beiträge: 20
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
| als Android-Anfänger (aber nicht als Programmier-Anfänger) bräuchte ich mal ein paar Denkanstöße für ein Projekt. D.h. ein paar Tipps, mit welchen Android-Klassen das machbar ist, genügt mir vollkommen: Ich würde gerne mehrere PNG-Images nebeneinander darstellen. Diese liegen als Kacheln vor, welche zusammengesetzt das gewünchte Bild ergeben. Anschließend möchte ich auf dieses Bild zeichnen - um genau zu sein einen Kreis einzeichnen. Womit geht das am cleversten? Danke schon mal für die Starthilfe! Elmi |
| | |
| | #2 (permalink) |
| Erfahrener Benutzer |
Hallo Elmey, je nachdem was du genau damit vorhast würde ich das ganze mit einer eigenen View realisieren. Wie das ganze aussehen kann habe ich mal kurz zusammengebaut: Code: package de.funcoder.canvas;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
public class TestProjectActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Setze als View die innere Panel Klasse
setContentView(new Panel(this));
}
class Panel extends View {
public Panel(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
// Bitmap Objekt anhand einer Resource im Drawable Verzeichnis erzeugen
Bitmap sampleBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.deine_PNG_FILE);
//Bitmap auf Position x:10, y:10 zeichnen.
canvas.drawBitmap(sampleBitmap, 10, 10, null);
// Neues Paint Objekt erzeugen und als Farbe weiß zuordnen
Paint samplePaint = new Paint();
samplePaint.setColor(Color.WHITE);
//Kreis auf Position x:50, y:70 zeichnen mit einem Radius von 15 unter verwendung des samplePaint Objekts
canvas.drawCircle(50, 70, 15, samplePaint);
}
}
} Für den Kreis bietet die Canvas-Klasse die drawCircle-Methode, die absolut selbsterklärend ist. Wichtig für später ist, sofern du beispielsweise daraus ein Spiel machen solltest, was ein häufiges redrawen benötigt ist, dass du die Objekt-Erzeugung für "sampleBitmap" und "samplePaint" auslagerst, sodass nicht jedesmal ein neues Objekt erzeugt werden muss.
__________________ |
| | |
| Folgender Benutzer bedankt sich bei funcoder für diesen Beitrag: | Elmey (29.12.2011) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Windows Metro ( 8 ) .. Tiles ??? | deeway | Android Themes | 1 | 20.09.2011 20:28 |
| Bilderverwaltung - wo sind meine .jpg und .pngs? | Korny89 | HTC Desire HD Forum | 3 | 15.12.2010 11:26 |
| Copy&Paste .9.pngs? | Mycorrhiz | Root / Hacking / Modding für Motorola Milestone | 2 | 01.09.2010 13:29 |
| PNGs wie für framework-res.apk abspechern? | mista | Root / Hacking / Modding für HTC Desire | 3 | 29.08.2010 13:24 |
| Routen darstellen | jollyroger87 | Karten und Navigation | 2 | 20.05.2010 18:05 |