Zeichnen Sie einen Kreis auf einen Blick (android)
Bin ich angefangen mit meine ersten versuche zu schreiben, eine android-app. Ich möchte zur Visualisierung von Monte-Carlo-Näherung für pi. Daher möchte ich zunächst einen Kreis zeichnen, der auf einen view, aber ich bekomme es nicht zum laufen!
Ich habe versucht, um meine eigene "CircleView" - Klasse, die erweitert die "Sicht" und überschreiben der onDraw (..) - Methode wie Ihr erklärt hier: Wie man einen Kreis zeichnen von canvas in Android?
Dies ist mein CircleView Klasse
public class CircleView extends View {
public CircleView(Context context) {
super(context);
}
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(150);
canvas.drawCircle(50,50,20,paint);
}
}
Habe ich eingefügt, die CircleView in ein LinearLayout mit den folgenden XML-code
<com.tak3r07.montecarlopi.CircleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/circleView"
android:layout_weight="1"/>
(Btw Android Studio ist mir zu sagen, die in der XML-Ansicht auf der rechten Seite: "Rendering-Probleme Benutzerdefinierte Ansicht CircleView ist nicht mit dem 2 - oder 3-argument-Ansicht Konstruktoren; XML-Attribute funktionieren nicht")
Die App einfach abstürzt mit folgendem log: http://pastebin.com/Gv1GaHtX
Kann mir jemand sagen was ich falsch gemacht habe?
Ich dachte, diese Einstellung wäre eine Aktivität mit einer Ansicht, die zeigt einen Kreis.
Hinsichtlich
Edit: Absturz ist behoben, indem die 2-und 3-Parameter-Konstruktor in CircleView (Siehe https://stackoverflow.com/a/13797457/3248708)
Aber jetzt habe ich immer noch nicht sehen, jeden Kreis in der Aktivität
auf dem Gerät
Warum gehst du nicht erstellen Sie eine Kreisform in XML und fügen Sie es als Quelle, um eine Bildansicht?
Sie haben versucht, eine Feste Breite und Höhe Werte, wie 100dp?
ja, ich habe versucht, die. Weiß nicht, über die andere Sache, ich werde versuchen, es morgen
InformationsquelleAutor Tak3r07 | 2014-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein paar Beobachtungen:
Müssen Sie berücksichtigen, die Breite und Höhe zugewiesen, um Ihre Ansicht, wenn die Bestimmung Ihrer Kreis - Mittelpunkt und radius.
Sollten Sie berücksichtigen, die Polsterung zugeordnet, um Ihre Anzeigen, so dass Sie nicht ziehen in diesem Pflichtteil.
Sollten Sie vermeiden, zuordnen von Objekten innerhalb Ihrer onDraw-Methode, da diese aufgerufen wird, eine Menge.
Damit Ihre Ansicht zu sein, angegeben in einer XML-layout, müssen Sie den Konstruktor, einen Kontext und ein AttributeSet. Das AttributeSet ist der Mechanismus, mit dem Sie Ihre XML-Attribute übergeben werden, um Ihre Ansicht.
Geben diesem einen Versuch:
wie kann ich die ontouch-oder onclick-Ereignis auf diesem Kreis ?
Da CircleView ist ein Blick in meinem Beispiel oben, können Sie überschreiben die boolean onTouchEvent(MotionEvent event) - Methode und/oder fügen Sie einen onClickListener auf ihn, indem Sie setOnClickListener ("Ansicht".OnClickListener l), die Sie aufrufen müssen, setClickable(true), aber nicht sicher.
können Sie bitte diese. stackoverflow.com/questions/41421662/... dies ist meine Frage. Ich denke, Sie können mir helfen.
Wie setzen Kreis Farbe in xml?
InformationsquelleAutor Michael Krause