Ich zeichne einen Tooltip nach dem Klicken in ein benutzerdefiniertes Balkendiagramm (erstellt mit MPAndroidChart). Die Hierarchie Ansicht ist wie folgtView Außengrenzen nicht ordnungsgemäß zeichnen
<LinearLayout>
<TextView text=Move & Max Pain/>
<RelativeLayout with 2 textviews>
<chart
clipToChildren=false
clipToPadding=false
/>
</LinearLayout>
Während die Ansicht ist innerhalb des Diagramms oder sein inmediate Geschwister, Everthing sieht gut aus. Aber in dem Moment mit seinem Geschwister kollidiert, ist der Tooltip abgeschnittenen
HierarchyViewer Verwendung kann ich sehen, dass der Inhalt vorhanden ist, aber es ist nicht gezeichnet.
Um den Ausschnitt zu bekommen, ich bin mit diesem Code innerhalb
@Override
public void draw(Canvas canvas, float posx, float posy) {
// take offsets into consideration
posx += getXOffset();
posy += getYOffset();
canvas.save();
// translate to the correct position and draw
canvas.translate(posx, posy);
Rect clipBounds = canvas.getClipBounds();
clipBounds.inset(0, -getHeight());
canvas.clipRect(clipBounds, Region.Op.INTERSECT);
draw(canvas);
canvas.translate(-posx, -posy);
canvas.restore();
}
ziehen Wenn ich Op Region.Op.Replace ändern, ist der Tooltip richtig zeichnen, aber es ersetzt die Toolbar Inhalt, statt Scrollen unter ihm.
Sie Quellcodes Dieser Beitrag könnte? Es sieht gut aus, ich möchte es mir genau ansehen. Danke trotzdem. – SilentKnight
Danke! Aber ich fürchte, ich kann es nicht, Entschuldigung. Ich benutze https://github.com/PhilJay/MPAndroidChart für die Diagramme, aber ich habe einige Teile (speziell die X-Etiketten) angepasst – Maragues
Wahrscheinlich nicht Ihr einziges Problem, aber ich denke, Sie missbrauchen canvas.save(). Sollten Sie es nicht vor Ihrer ersten Übersetzung aufrufen und dann nach dem Beenden die Wiederherstellung aufrufen, anstatt die Übersetzung erneut in die negative Richtung zu rufen. – charliebeckwith