Show value when pressed [MPAndroidChart]

I was looking for a way to enable the display of MPAndroidChart only when displaying the value (label) of the data point. But it seems that I could not find it on the Internet even in the documentation.

I used a line chart , and I want to display only the label of a specific point when clicked.

+6
source share
1 answer

1- Enable touch in chart

 chart.setTouchEnabled(true); 

2 - Create 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 - Create a tvContent view

 <?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 the view marker to the chart

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

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

+11
source

All Articles