2016-04-10 2 views
1

(этот вопрос также справедливо для ScrollView)MPAndroidChart внутри HorizontalScrollView

Мне нужно поместить LineChart внутри HorizontalScrollView. Я не хочу прокручивать диаграмму (это означает, что диаграмма отображает сам свиток и после нескольких tesst, это довольно лаги), если это не последнее решение.

Библиотека MPAndroidChart.

На основании this post on Telerik это не должно быть сложно.

К сожалению, я не могу достичь целевого результата.

Это мой XML-код:

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <com.github.mikephil.charting.charts.LineChart 
     android:layout_width="2000dp" 
     android:layout_height="match_parent" 
     android:fillViewport="true" 
     android:id="@+id/chart"/> 

</HorizontalScrollView> 

Ничего действительно фантазии.

Внутренний дизайнер Android Studio показывает действительно сжатую диаграмму, и мой телефон тоже делает.

Что не так?

Спасибо за помощь!

+0

есть ли у вас решение? – Shadow

+0

@ Shadow У меня все еще нет решения. Диаграмма сжимается. – Mackovich

+0

Вы нашли решение этого? – TechValens

ответ

1

Используйте LinearLayout в качестве контейнера для диаграммы Line:

    <HorizontalScrollView 
        android:id="@+id/hsvChart" 
        android:layout_width="800dp" 
        android:layout_height="match_parent"> 
        <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="match_parent"> 
         <com.github.mikephil.charting.charts.LineChart 
          android:id="@+id/chart" 
          android:layout_width="600dp" 
          android:layout_height="match_parent" 
          android:layout_marginBottom="3dp" 
          android:layout_marginTop="3dp" /> 
        </LinearLayout> 
       </HorizontalScrollView> 

Это предотвратит вашу карту от сокращения

+0

Что делать, если я не хочу использовать фиксированную ширину? потому что в моем приложении иногда метки по оси x небольшие, а изменение может быть от 40 до 50 символов или более. –

+0

Я попробовал порт просмотра, но его не работает –

0

работал для меня, установив родитель ширину соответствия для горизонтального просмотра и пользовательской ширины для (см. ниже код):

<HorizontalScrollView 
    android:layout_width="match_parent" 
    android:layout_height="400dp" 
    android:fillViewport="true"> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <com.github.mikephil.charting.charts.BarChart 
     android:id="@+id/bar_chart" 
     android:layout_width="800dp" 
     android:layout_height="match_parent" 
     android:background="@color/colorWhite" 
     android:padding="10dp" /> 
</LinearLayout> 
</HorizontalScrollView> 

 Смежные вопросы

  • Нет связанных вопросов^_^