2015-10-20 25 views
6

MPAndroidChart öğesinin tıklatıldığında yalnızca veri noktasının değerini (etiketini) göstermesini sağlamanın bir yolunu arıyorum. Ama bu, belgelerde bile çevrimiçi bulamadığım görünüyor.Dokunulduğunda değeri göster [MPAndroidChart]

line chart'u kullandım ve istediğim şey yalnızca tıklatıldığında belirli nokta etiketini göstermektir. MarkerView

public class CustomMarkerView extends MarkerView { 

    private TextView tvContent; 
    public CustomMarkerView (Context context, int layoutResource) { 
     super(context, layoutResource); 
     // this markerview only displays a textview 
     tvContent = (TextView) findViewById(R.id.tvContent); 
    } 

    // callbacks everytime the MarkerView is redrawn, can be used to update the 
    // content (user-interface) 
    @Override 
    public void refreshContent(Entry e, Highlight highlight) { 
     tvContent.setText("" + e.getVal()); // set the entry-value as the display text 
    } 

    @Override 
    public int getXOffset() { 
     // this will center the marker-view horizontally 
     return -(getWidth()/2); 
    } 

    @Override 
    public int getYOffset() { 
     // this will cause the marker-view to be above the selected value 
     return -getHeight(); 
    } 
} 

3 oluşturma - -

cevap

11

1-

chart.setTouchEnabled(true); 

2 grafikte dokunma etkinleştirme tvContent görünüm oluşturma

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="40dp" 
    android:background="@drawable/markerImage" > 

    <TextView 
     android:id="@+id/tvContent" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="7dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:text="" 
     android:textSize="12dp" 
     android:textColor="@android:color/white" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 

</RelativeLayout> 

4. set grafik

CustomMarkerView mv = new CustomMarkerView (Context, R.layout.custom_marker_view_layout); 
chart.setMarkerView(mv); 

https://github.com/PhilJay/MPAndroidChart/wiki/MarkerView

görünüm İşaretleyici