Scrollview FillViewport Прокрутка не работает (MPAndroidChart)

58
7

Цель: множественные диаграммы в прокрутке (сначала просто вертикальная прокручиваемая, но предпочтительная в Gridview с двумя столбцами)

Проблема: вертикальная прокрутка не работает

Подсказка: размер диаграмм (с onMeasure) и fillViewport = true работает

Пробовал много решений из stackoverflow (с wrap_content, match_parent, весами и т.д.), Ничего не удалось.

Изменения в MPAndroidChart

mChart.setRotationEnabled(false);
mChart.setTouchEnabled(false);
Disabled OnChartValueSelectedListener, SeekBar.OnSeekBarChangeListener

Файл макета

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:elevation="@dimen/elevation"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:fillViewport="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:weightSum="100"
tools:context=".MainActivity">

<LinearLayout android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="75"
android:orientation="vertical">
<MPAndroidChart.PieChartSquare
android:id="@+id/chart1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout android:id="@+id/linearlayout2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="75"
android:orientation="vertical">
<MPAndroidChart.PieChartSquare
android:id="@+id/chart2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

</LinearLayout>
</ScrollView>

<android.support.v7.widget.RecyclerView
android:id="@+id/RecyclerView"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="left"

android:background="#ffffff"
android:scrollbars="vertical">

</android.support.v7.widget.RecyclerView>

</android.support.v4.widget.DrawerLayout>

MPAndroidChart.PieChartSquare распространяется от оригинального PieChart, но я добавил следующий код для определения размеров символов.

   @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

int w = MeasureSpec.getSize(widthMeasureSpec);
int h = MeasureSpec.getSize(heightMeasureSpec);

w = Math.min(w, h);
h = w;

setMeasuredDimension(w, h);
}

Спасибо и приветствую

ОБНОВИТЬ

Я сделал трюк с пользовательским Gridview, а затем раздул chartitem.xml для каждого графика. Несчастливо PieChartSquare не работает (ничего не видно), поэтому я должен использовать PieChart.

Поэтому я не получаю правильного размера диаграммы. Он всегда очень маленький.

спросил(а) 2016-05-20T08:21:00+03:00 4 года, 5 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема