【问题标题】:Show detail on hover or click on bar of Graph View Android在悬停或单击 Graph View Android 栏时显示详细信息
【发布时间】:2014-09-06 10:24:21
【问题描述】:

试图在图表视图中的条形悬停时显示标签的值。有一个方法叫

setOnHoverListener(new View.OnHoverListener() {
    @Override
    public boolean onHover(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_HOVER_ENTER:

                break;
            case MotionEvent.ACTION_HOVER_MOVE:

                break;
            case MotionEvent.ACTION_HOVER_EXIT:

                break;
        }
        return false;
    }
});

但该方法适用于图形视图。我需要在由区分标签和值表示的每个图表条上实现。我在图中有 1000 个条形图,其数据是从服务器获取的。在 android os 中实现图形视图。使用 GraphView-3.1.3.jar 。还实现了 achartengine 库,但没有找到任何解决方案。

【问题讨论】:

  • 问题是什么?
  • 你有没有找到任何方法来达到同样的效果?

标签: java android achartengine android-graphview


【解决方案1】:

我发现了很多但无法处理所需的功能,即我希望在每个图表条上触发悬停或点击事件时显示信息对话框。

我按照 Google 的 Geomap 和 Geocharts 在 android 中实现图形视图,而不是使用 GraphView-3.1.3.jar 和 achartengine(两者都有限制)。

Google GeomapGeoChart

以上两个链接提供的文档将指导有关图表,图形,地图等的生成。我使用weview将其集成到android中。我将以下文件作为 html 放在 assets 文件夹中并将其加载到 webview -

    <html>
<head>
  <script type='text/javascript' src='https://www.google.com/jsapi'></script>
  <script type='text/javascript'>
   google.load('visualization', '1', {'packages': ['geomap']});
   google.setOnLoadCallback(drawMap);

    function drawMap() {
      var data = google.visualization.arrayToDataTable([
        ['Country', 'Attendees'],
['United States', 150],
['Belgium', 67],
['Germany', 61],
['South Korea', 49],
['United Kingdom', 42],
['Singapore', 39],
['Spain', 37],
['Nigeria', 34],
['Japan', 27],
['France', 25],
['Italy', 24],
['Netherlands', 23],
['Turkey', 22],
['South Africa', 22],
['Portugal', 19],
      ]);

      var options = {};
      options['dataMode'] = 'regions';
      options['width'] = '630';
      options['height' ] = '350';
      var container = document.getElementById('map_canvas');
      var geomap = new google.visualization.GeoMap(container);
      geomap.draw(data, options);
  };
  </script>

</head>

<body>
  <div  id='map_canvas'></div>
  <br />


</body>

</html>

我希望它也对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2013-09-21
    • 1970-01-01
    • 2018-10-25
    • 2013-02-11
    • 1970-01-01
    • 2018-06-17
    相关资源
    最近更新 更多