So zeigen Sie die X-Achsenwerte im Liniendiagramm in der Markierungsansicht an. Ich habe die Funktion getVal() verwendet, um die Y-Achsenwerte abzurufen, aber wie die X-Achsenwerte in der Markierungsansicht ermittelt werden ist mein Code für die Markeransicht.Wie zeigen Sie X-Markierungen in der Markierungsansicht in Liniendiagramm?
public class MymarkerView extends MarkerView
{
private TextView indices;
public MymarkerView(Context context, int layoutResource) {
super(context, layoutResource);
indices = (TextView) findViewById(R.id.indices);
}
// callbacks everytime the MarkerView is redrawn, can be used to update the
// content (user-interface)
@Override
public void refreshContent(Entry e, Highlight highlight) {
indices.setText("Indices:" +e.getVal());
}
@Override
public int getXOffset(float xpos) {
// this will center the marker-view horizontally
return -(getWidth()/2);
}
@Override
public int getYOffset(float ypos) {
// this will cause the marker-view to be above the selected value
return -getHeight();
}
public void draw(Canvas canvas, float posx, float posy)
{
// take offsets into consideration
posx += getXOffset(posx);
posy=0;
// AVOID OFFSCREEN
if(posx<65)
posx=65;
if(posx>350)
posx=350;
// translate to the correct position and draw
canvas.translate(posx, posy);
draw(canvas);
canvas.translate(-posx, -posy);
}
}
Dank @Madhu ..es erhalten habe mein Problem mit MPAndroidChart 2.4.4 gelöst. –
Eine weitere Frage, die ich stellen wollte ... Ich benutzte die draw() Methode, um meine Markeransicht innerhalb des Diagramms zu positionieren. Aber im obigen Code habe ich einen bestimmten Wert von "posx" (65 und 350) verwendet, um die Position von zu fixieren markerview für mein Diagramm. Dies funktionierte für die Hochformatansicht meines mobilen Bildschirms. Aber wie man den "posx" -Wert einstellt, um für den ganzen android Bildschirm mit einem festen Abstand der Markierungsansicht von links sowie rechts zu arbeiten .... Was Änderungen sollte ich zu meinem posx Wert in "draw" Methode machen. –