achartengine自定义缩放按钮

时间:2012-02-04 16:06:29

标签: android graph achartengine

是否有一种简单的方法可以使用缩放按钮的自定义图像? 我想使用默认的setZoomButtonsVisible函数来管理 显示/隐藏按钮。

如何覆盖这些按钮?

我想使用res / drawable中的图标(drawable-hdpi,drawable-ldpi ..) 确保所有屏幕上的图像都很好看。

2 个答案:

答案 0 :(得分:1)

您可以隐藏原始缩放按钮并启用外部缩放:

private XYMultipleSeriesRenderer mRenderer; //or any of other renderer
mRenderer.setZoomButtonsVisible(false);
mRenderer.setExternalZoomEnabled(true);

//then add click events tot he imagebuttons on the view
//mChartView --> private GraphicalView mChartView;

    ImageButton btnZoomIn= (ImageButton) findViewById(R.id.btnZoomIn);

    btnZoomIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mChartView.zoomIn();

            }
    });

    ImageButton  btnZoomOut = (ImageButton) findViewById(R.id.btnZoomOut );

    btnZoomOut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mChartView.zoomOut();
            }
    });

希望它有所帮助。

唯一的问题是点击时发生了一些奇怪的想法。我发布了问题here以及issue

希望有人能找到答案。

托尼

答案 1 :(得分:1)

我使用的方式几乎和我想的一样。我有:

renderer.setZoomEnabled(true);
renderer.setExternalZoomEnabled(true);
renderer.setApplyBackgroundColor(true);

我正在使用.xml文件进行按钮布局。我在代码中没有使用<ImageButton>。我正在使用<Button>背景。这样,这些按钮就是图像。我的按钮代码:

<Button
                    android:id="@+id/zoomin"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:background="@drawable/action_zoomin"
                    android:hapticFeedbackEnabled="true"
                    android:layout_marginRight="15dp">
  </Button>