java - achartengine饼图未在 ScrollView 中呈现

标签 java android scrollview achartengine

我在显示由 achartengine 创建的饼图时遇到问题。

我的布局 XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".StatisticActivity" >

    <bc.qz.client.android.custom.view.RoundRectTransparentPanel
        android:id="@+id/statisticTransparentPanel"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="20dip"
        android:orientation="vertical"
        android:padding="10dip" >

        <ScrollView
            android:id="@+id/statisticPageTransparentPanelScrollView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fillViewport="true" >
            <LinearLayout
                android:id="@+id/chart"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
            </LinearLayout>
        </ScrollView>
    </bc.qz.client.android.custom.view.RoundRectTransparentPanel>
</RelativeLayout>

我的 Activity :

@Override
protected void onResume() {
    super.onResume();
    LinearLayout layout=(LinearLayout)findViewById(R.id.chart);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.WHITE);
    mRenderer.setChartTitleTextSize(20);
    mRenderer.setLabelsTextSize(15);
    mRenderer.setLabelsColor(Color.BLACK);
    mRenderer.setLegendTextSize(15);
    mRenderer.setShowLegend(false);
    mRenderer.setMargins(new int[] { 20, 30, 15, 0 });
    mRenderer.setZoomButtonsVisible(false);
    mRenderer.setStartAngle(90);
    mRenderer.setInScroll(true);
    fillPieChart();
    if (mChartView == null) {
        mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer);
        mRenderer.setClickEnabled(true);
        mRenderer.setSelectableBuffer(10);
        layout.addView(mChartView);
    } else {
        mChartView.repaint();
    }
}

public void fillPieChart() {
        for (int i = 0; i < pieChartValues.length; i++) {
            mSeries.add(" Share Holder " + (mSeries.getItemCount() + 1),
                    pieChartValues[i]);
            SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();
            renderer.setColor(COLORS[(mSeries.getItemCount() - 1)
                    % COLORS.length]);
            mRenderer.addSeriesRenderer(renderer);
            if (mChartView != null)
                mChartView.repaint();
        }
    }

没有异常(exception),没有日志消息,但所有对象都正确创建。我得到的是这样的:

enter image description here

图表未显示在我的 ScrollView 中。

有人可以给我提示吗?

谢谢 斯特凡

最佳答案

我在另一个问题中找到了答案。

我改变了这一行

layout.addView(mChartView);

到此

layout.addView(mChartView, new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 500));

现在它可以工作了...

关于java - achartengine饼图未在 ScrollView 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618609/

相关文章:

java - Apache Commons 配置 - PropertiesConfiguration 已关闭

android - 如何从 Fabric Crashlytics 迁移到 Firebase Crashlytics?

java - 编译器不会让 String 变量出现在 switch 语句中

java - 在同一应用程序上下文中启用两个 Spring Data 存储库(neo4j 和 h2)

java - Android RecyclerView 网格水平和垂直居中项目而不滚动

java - 对 ListActivity 中的 ListView 进行排序

android - 有什么方法可以识别 scrollview 在 android 中向上或向下滚动吗?

android - ScrollView 上方的线性布局

ios - 使用自动布局增加 ScrollView 中的 View 高度

java - 插入排序基本操作计数