android睡眠分期图

 一、效果图

       做医疗类项目,经常会遇到做各种图表,本文做的睡眠分期图。

二、代码

    

引入用到的库

    api 'joda-time:joda-time:2.10.1'

调用代码


    /**
     * 睡眠
     * 分期
     */
    private SleepChartAdapter mAdapter;
    private SleepChartAttrs mAttrs;
    private List<SleepItemEntry> mDataList = new ArrayList<>();
    ;
    private LocalDate mLocalDate;
    private SpeedRatioLayoutManager mLayoutManager;
    private SleepChartItemDecoration mItemDecoration;
 
private void sleepChartData() {

        // 清空数据
        mDataList.clear();

        // 数据数据
        mLocalDate = LocalDate.now();
//        List<SleepItemEntry> entryList = SleepTestData.createSleepEntry(sleepResult);
        List<SleepItemEntry> entryList = SleepTestData.createSleepEntry(mLocalDate);

        Logger.LogD("huhuhuhuhuhuh", new Gson().toJson(entryList));
        mDataList.addAll(entryList);

        // mDataBinding.chartSleep.recycler
        // 适配器
        mAttrs = mDataBinding.chartSleep.recycler.mAttrs;
        mLayoutManager = new SpeedRatioLayoutManager(getActivity(), mAttrs);
        mAdapter = new SleepChartAdapter(getActivity(), mDataList, mDataBinding.chartSleep.recycler);

        //设置列表相关属性
        mItemDecoration = new SleepChartItemDecoration(mAttrs);

        mDataBinding.chartSleep.recycler.setAdapter(mAdapter);
        mDataBinding.chartSleep.recycler.setLayoutManager(mLayoutManager);
        mDataBinding.chartSleep.recycler.addItemDecoration(mItemDecoration);

        setListener();

    }

    /**
     * 睡眠分期
     * 列表监听
     */
    RecyclerItemGestureListener mItemGestureListener;

    protected void setListener() {
        mItemGestureListener = new RecyclerItemGestureListener(getActivity(), mDataBinding.chartSleep.recycler,
                new SimpleItemGestureListener() {
                    @Override
                    public void onItemClick(View view, int position) {

                    }

                    @Override
                    public void onLongItemClick(View view, int position) {

                    }

                    @Override
                    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {

                    }

                    @Override
                    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

                    }
                });
        mDataBinding.chartSleep.recycler.addOnItemTouchListener(mItemGestureListener);
    }

布局

        <!-- 睡眠分期图 -->
        <csu.xiaoya.robotApp.ui.activity.homepage.healthy_monitor.sleepreport.sleepchart.SleepChartRecyclerView
            android:id="@+id/recycler"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="-12dp"
            android:paddingLeft="@dimen/dp_2"
            android:paddingTop="0dp"
            android:paddingEnd="0dp"
            android:paddingRight="@dimen/dp_2"
            app:contentPaddingBottom="6dp"
            app:contentPaddingTop="0dp"
            app:txtColor="@color/white" />

全部代码

https://download.csdn.net/download/shi450561200/89393094

相关推荐

  1. linux 可睡眠RCU

    2024-06-06 21:22:04       44 阅读
  2. Android 优化广告加载

    2024-06-06 21:22:04       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 21:22:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 21:22:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 21:22:04       82 阅读
  4. Python语言-面向对象

    2024-06-06 21:22:04       91 阅读

热门阅读

  1. scripts/Makefile.host 分析【fixdep、conf】

    2024-06-06 21:22:04       26 阅读
  2. Flutter 中的 SliverFixedExtentList 小部件:全面指南

    2024-06-06 21:22:04       30 阅读
  3. python | DaPy,一个神奇的 Python 库!

    2024-06-06 21:22:04       36 阅读
  4. 修改el-select默认样式

    2024-06-06 21:22:04       27 阅读
  5. CDN访问与直接访问源站得到的结果不一样

    2024-06-06 21:22:04       28 阅读
  6. Lua封装函数模块并由其他模块调用

    2024-06-06 21:22:04       26 阅读
  7. 设计模式之责任链模式

    2024-06-06 21:22:04       30 阅读
  8. GPT-4o横空出世,如何评价GPT-4o?

    2024-06-06 21:22:04       30 阅读
  9. 计算机网络 3.7广域网

    2024-06-06 21:22:04       36 阅读
  10. Ubuntu下搭建与配置PPPoE server

    2024-06-06 21:22:04       33 阅读
  11. 嵌入式Qt开发C++基础编程

    2024-06-06 21:22:04       33 阅读