пользовательские кнопки масштабирования - PullRequest
5 голосов
/ 04 февраля 2012

Существует ли простой способ использования пользовательских изображений для кнопок масштабирования? Я хотел бы использовать функции setZoomButtonsVisible по умолчанию для управления показать / скрыть кнопки.

Как мне переопределить эти кнопки?

Я бы хотел использовать иконки из моего res / drawable (drawable-hdpi, drawable-ldpi ..) чтобы изображения хорошо выглядели на всех экранах.

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Я использую почти так же, как я думаю.У меня есть:

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>
1 голос
/ 07 февраля 2012

Вы можете скрыть оригинальные кнопки зума и включить внешний зум:

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();
            }
    });

Надеюсь, это поможет.

Единственная проблема заключается в том, что при щелчке происходит странная мысль. Я разместил проблему здесь , а также как проблему .

Надеюсь, кто-нибудь найдет ответ.

Toni

...