Android Studio: Zeichnen mit Canvas

M

Merry-go-round

Neues Mitglied
0
Hallo liebe Community,

ich habe gerade angefangen mich mit Android Studio zu beschäftigen und bin schnell an Grenzen gestoßen... ich hoffe, ihr könnt mir weiterhelfen.
Ich stehe noch ganz am Anfang und alles was ich machen wollte, sind Geometrien zu zeichnen. In diesem Fall einfach nur eine bunte Linie. Wenn ich die App auf meinem Handy starte, bekomme ich nur ein "Leider wurde Draw beendet.".
Ich hab leider keine Ahnung woran es liegen könnte... Hätte jemand vielleicht einen Hinweis?

Gruß,

merry-go-round

Hier der Code der java Datei:
Code:
package com.example.xxx.draw;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class Draw extends View {
    public Draw(Context context, AttributeSet attrs) {
        super(context, attrs);

        setFocusable(true);
        setFocusableInTouchMode(true);
        setupPaint();
    }

    private final int paintColor = Color.BLACK;
    private Paint drawPaint;

    private void setupPaint() {
        drawPaint = new Paint();
        drawPaint.setColor(paintColor);
        drawPaint.setAntiAlias(true);
        drawPaint.setStrokeWidth(5);
        drawPaint.setStyle(Paint.Style.STROKE);
        drawPaint.setStrokeJoin(Paint.Join.ROUND);
        drawPaint.setStrokeCap(Paint.Cap.ROUND);
    }

    @Override
        protected void onDraw(Canvas canvas) {
            canvas.drawLine(10,10, 20, 10, drawPaint);
            drawPaint.setColor(Color.GREEN);
        }
    }
Hier der Code der .xml - Datei:
Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Draw" >

    <com.example.xxx.draw
        android:id="@+id/Draw1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true" />

</RelativeLayout>
 
Custom Drawing | Android Developers

durchlesen!!!

auch wenn man views nciht für sowas ausnutzen sollte!

Standard View eignen sich eig. nur dafür andere Views zu beherbergen

für Zeichenoperationen soltlest du spezialisierte Views benutzen imho
surfaceview bietet sich da an :)

dein code sieht ok aus

nur leider ist der fehler deshalb woanders zu finden

z.B. in deiner Activity oder einem Thread oder so wo du die onDraw methode aufrufst mit invalidate()?!


"ich habe gerade angefangen mich mit Android Studio zu beschäftigen"

meinst dumit android programmierung allgemein zufällig?
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.549
Data2006
D
5
Antworten
0
Aufrufe
1.150
586920
5
SaniMatthias
Antworten
19
Aufrufe
960
swa00
swa00
Zurück
Oben Unten