Android:运行图的滚动条

标签 android graph custom-controls scrollbar dynamic-data

我有一个自定义 View ,它绘制了一个运行图 - 一些幅度与时间的关系。现在我想为此实现一个自定义滚动条,以便我可以查看屏幕外的过去数据。数据对我可用。我只需要用户选择 %offset。

任何关于实现的帮助/建议都会很有帮助。

我的自定义 View 的 onDraw 方法中的代码 fragment

public void onDraw( Canvas Canvas ){

    int totalpts = data.size();
    scale = getWidth() / (float) maxpoints;
    List<Data> display = new ArrayList<Data>();
    int initial = 1;
    if (totalpts > maxpoints) {
        initial = totalpts - maxpoints;

            display = data.subList(initial, data.size() - 1);

    } else {

            display = data;

    }


    int size = display.size();
    Data start = null;
    float x1 = 0, x2 = 0, x = 0;

    if (size > 1) {
        x1 = getWidth();
        start = display.get(display.size() - 1);
        for (int i = display.size() - 1; i >= 0; i--) {
            Data stop = display.get(i);
            x = x1;
            x1 -= (stop.x * scale / 1000);

            canvas.drawLine(x, start.Y, x1, stop.Y, paint1);

            start = stop;
        }
    }
}

最佳答案

尝试将自定义控件放在 HorizonatalScrollView 中(假设你想让它水平滚动),使用 ScrollView否则),将控件的宽度设置为“WRAP_CONTENT”,将 HoizontalScrollView 设置为“FILL_PARENT”。如果没有看到自定义 View 的代码,就很难知道您是否需要对宽度计算进行一些修改才能使其正常工作。

关于Android:运行图的滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370047/

相关文章:

arrays - 如何从二维数组构建图形?

c# - 如何使用图像创建自定义工具提示?

c# - 自定义控件中的依赖属性意外共享内存/值

c# - 样式 : BasedOn and DefaultStyleKeyProperty. 覆盖元数据

recursion - 如何在功能上编写针对具有依赖条件的动态更改集合的迭代算法?

android - 将 ListFragment 与带有 Holder 模式的 SimpleCursorAdapter 结合使用

Android 12(SDK > 29)ACTION_IMAGE_CAPTURE 的 Extra_Output 不起作用

Android - 放在 onPause 和 onSaveInstanceState 中的内容

android - 为什么 Facebook Insights 报告零应用安装?

Android千点图