IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android Highcharts图表小结之HITooltip一个节点显示多个信息 -> 正文阅读

[移动开发]Android Highcharts图表小结之HITooltip一个节点显示多个信息

最近网上查看Android项目中使用Highcharts图表一个点添加显示多个信息的资料比较少,这里记录一下,并希望能帮到有需要的人。

一.先直接放代码,后图片和代码说明:

private ArrayList<String> listMonth = new ArrayList<>();//月份
private ArrayList<String> listModifier = new ArrayList<>();//修改者信息
private ArrayList<Double> listSalePrice = new ArrayList<>();//平均销售金额
    //设置表图视图
    private void setChartView() {
        HIOptions options = new HIOptions();
        //隐藏右上角的导出按钮(菜单按钮)
        HIExporting hiExporting = new HIExporting();
        hiExporting.setEnabled(false);
        options.setExporting(hiExporting);

        //HITitle管理图表标题
        HITitle title = new HITitle();
        title.setText(getIntent().getStringExtra("Title"));
        options.setTitle(title);

        //HISubtitle负责字幕
//        HISubtitle subtitle = new HISubtitle();
//        subtitle.setText("Source: WorldClimate.com");
//        options.setSubtitle(subtitle);

        //设置右下角版权标签
        HICredits credits = new HICredits();
//        credits.setText("vipstation.com.hk");
        credits.setEnabled(false);
        options.setCredits(credits);

        //x轴
        final HIXAxis xAxis = new HIXAxis();
        xAxis.setCategories(listMonth);
        options.setXAxis(new ArrayList() {{
            add(xAxis);
        }});

        //y轴
        final HIYAxis yAxis = new HIYAxis();
        yAxis.setTitle(new HITitle());
        yAxis.getTitle().setText(getString(R.string.language_amount_h));
        options.setYAxis(new ArrayList() {{
            add(yAxis);
        }});

        HILine series1 = new HILine();
        series1.setName(getIntent().getStringExtra("SeriesName"));

        if (listModifier != null && listModifier.size() > 0) {
            ArrayList<HashMap<String, Object>> data = new ArrayList<>();
            for (int i = 0; i < listSalePrice.size(); i++) {
                HashMap<String, Object> object = new HashMap<>();
                object.put("y", listSalePrice.get(i));
                object.put("z", listModifier.get(i));
                data.add(object);
            }

            String nameStr = getString(R.string.language_reviser);
            HITooltip tooltip = new HITooltip();
//tooltip.setHeaderFormat("<span style=\"font-size:15px\">{point.key}</span><table>");//设置了字体大小
//tooltip.setPointFormat("<tr><br>{series.name}:{point.y}<br/>" + nameStr + ":{point.z}</tr>");//表格展示
//tooltip.setFooterFormat("</talble>");
//tooltip.setShared(true);
//tooltip.setUseHTML(true);
//<br>和<br/>具有相同作用,都表示换行符,都是非成对出现的标记,但前者是老的html规范,新的规范(W3C//DTD HTML 4.0)要求一切都应象XML那样有结束符,如果没有也要硬加一个反斜杠。象br这种不需成对使用的html符号,就成了这个样子:<br/>
            tooltip.setHeaderFormat("{point.key}<br/>");//2022/08/08
????????    //售价:4680(<br/>换行符换行)修改者:0111 | zaa
            tooltip.setPointFormat("{series.name}:{point.y}<br/>" + nameStr + ":{point.z}");
            options.setTooltip(tooltip);

// HITooltip tooltip = new HITooltip();
//tooltip.setHeaderFormat("{series.name}:{point.key}<br />");//公价:2022/08/08
//tooltip.setPointFormat("x = {point.x}, y = {point.y}<br/>");//x=0,y=4680修改者:0122 | zas(这里修改者这行没换行)
//tooltip.setValueSuffix("修改者:" + "{point.z}");
//options.setTooltip(tooltip);       

??????????? //曲线设置值
??????????? series1.setData(data);
 ????????} else
            series1.setData(listSalePrice);
        options.setSeries(new ArrayList<>(Arrays.asList(series1)));

//        //曲线点击方法
//        HIPlotOptions plotOptions = new HIPlotOptions();
//        plotOptions.setSeries(series1);
//        plotOptions.getSeries().setPoint(new HIPoint());
//        plotOptions.getSeries().getPoint().setEvents(new HIEvents());
//        plotOptions.getSeries().getPoint().getEvents().setClick(new HIFunction(
//                new Runnable() {
//                    @Override
//                    public void run() {
//                        L.e("点击事件");
//                    }
//                }
//        ));
//        options.setPlotOptions(plotOptions);

        options.setColors(new ArrayList<>(Arrays.asList(HIColor.initWithRGB(28, 182, 130))));
        chartView.setOptions(options);
    }

二.当没有修改者的信息时,提示框就显示x轴和y轴节点的信息,折线HILine直接添加金额集合series1.setData(listSalePrice);

三. 主要HITooltip提示节点自定义信息:

1.如代码里面的重新用一个键值对集合重新把数据装起来;

?ArrayList<HashMap<String, Object>> data = new ArrayList<>();

for (int i = 0; i < listSalePrice.size(); i++) {

HashMap<String, Object> object = new HashMap<>();

object.put("y", listSalePrice.get(i));

object.put("z", listModifier.get(i)); data.add(object);

}

2.HITooltip提示设置

HITooltip tooltip = new HITooltip();
tooltip.setHeaderFormat("{point.key}<br/>");//2022/08/08
//售价:4680(<br/>换行符换行)修改者:0111 | zaa
tooltip.setPointFormat("{series.name}:{point.y}<br/>" + nameStr + ":{point.z}");
options.setTooltip(tooltip);

3.展示效果图

?四.曲线点击方法

HIPlotOptions plotOptions = new HIPlotOptions();
plotOptions.setSeries(series1);
plotOptions.getSeries().setPoint(new HIPoint());
plotOptions.getSeries().getPoint().setEvents(new HIEvents());
plotOptions.getSeries().getPoint().getEvents().setClick(new HIFunction(
        () -> {
????????????????L.e("点击事件")
        }
));
options.setPlotOptions(plotOptions);
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:17:25  更:2022-08-19 19:19:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 4:55:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码