#android #mpandroidchart
#Android #mpandroidchart
Вопрос:
Я хочу отобразить 7-значные данные в mpandroidchart markerview, но они показывают только 5 цифр. Вот мой код. Я попытался установить значение ellipsize для моего textview равным none, но все равно не работает. Когда я регистрирую запись, она показывает 7 цифр, но в моем markerview отображается только 5 цифр.
<?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="wrap_content"
android:background="@drawable/bg_marker_view">
<TextView
android:id="@ id/tvContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:paddingHorizontal="@dimen/padding_xs"
android:paddingVertical="@dimen/padding_xs"
android:tag="customMarker"
android:text="marker"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/white"
android:textSize="10sp" />
</RelativeLayout>
class CustomMarkerView(context: Context?, layoutResource: Int) :
MarkerView(context, layoutResource) {
private val tvContent: TextView = findViewWithTag("customMarker")
// callbacks everytime the MarkerView is redrawn, can be used to update the
// content (user-interface)
override fun refreshContent(
e: Entry,
highlight: Highlight
) {
// set the entry-value as the display text
tvContent.text = e.y.toString().replace("000000.0", " juta")
Log.d("refreshContent", e.toString())
}
override fun getOffset(): MPPointF? {
val x = -(width / 2).toFloat()
return MPPointF(getX(), (-height (-10)).toFloat())
}
}
Комментарии:
1. Лучше использовать
AutoSizing
для просмотра текста. Посмотрите это .2. @ADM
AutoSizing
не работает.3. Можете ли вы попробовать меньший размер текста и посмотреть, работает ли он? я не использовал
mpandroidchart
, но если он не работает с небольшим размером текста, то я думаю, что библиотека округляет данные. Отладьте код.4. я попробовал меньший размер текста, текст меньше, но он по-прежнему не может отображать более 5 символов