前言

昨夜同门云集推杯又换盏,今朝茶凉酒寒豪言成笑谈。半生累,尽徒然,碑文完美有谁看,隐居山水之间誓与浮名散。

简介

今天给大家带来的是支付宝的月账单view的实现,看到标题,你可能会觉得是自定义view的相关实现,这里可能要让你失望了,因为这里我们用的是github上的一个开源项目。

1. 效果图

2. MPAndroidChart

我们用的是MPAndroidChart打开链接来实现的效果,它可以实现柱状图,饼状图等。

使用方法

1. 添加依赖

你可以选择在build.gradle中添加依赖。

dependencies {compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'
}

2. 引入library

当然也可以选择引入library。

3. xml引用

activity_main.xml

<com.github.mikephil.charting.charts.PieChartandroid:id="@+id/chart_view"android:layout_width="300dp"android:layout_height="300dp"android:layout_centerInParent="true" />

4. MainActivity

public class MainActivity extends AppCompatActivity {private static final float TEXT_SIZE = 18;private PieChart mPieChart;private List<MonthData> mMonthData;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mPieChart = (PieChart) findViewById(R.id.chart_view);initData();initPieData();}private void initData() {mMonthData = new ArrayList<>();MonthData playing = new MonthData();playing.setLabel("娱乐");playing.setValue(213);MonthData pay = new MonthData();pay.setLabel("消费");pay.setValue(239);MonthData shopping = new MonthData();shopping.setLabel("网购");shopping.setValue(682);MonthData mobile = new MonthData();mobile.setLabel("线下");mobile.setValue(100);mMonthData.add(playing);mMonthData.add(pay);mMonthData.add(shopping);mMonthData.add(mobile);}private void initPieData() {PieData mPieData = new PieData();List<PieEntry> mEntry = new ArrayList<>();String mLabel = "其他";for (MonthData monthData : mMonthData) {PieEntry entry = new PieEntry(monthData.getValue(), monthData.getLabel());mEntry.add(entry);}PieDataSet mDataSet = new PieDataSet(mEntry, mLabel);mDataSet.setColors(Color.rgb(60, 179, 113), Color.rgb(255, 69, 0),Color.rgb(255, 185, 15), Color.rgb(30, 144, 255));mPieData.setDataSet(mDataSet);mPieData.setValueTextSize(TEXT_SIZE);mPieData.setValueTextColor(Color.WHITE);mPieChart.setDescription(new Description());mPieChart.setData(mPieData);}}

这里,MonthData是我们自己定义的model,而initPieData()方法中的类都是用的MPAndroidChart中提供的,然后我们再进行简单的封装,并用其提供的api显示view。

5. MonthData

封装的model

public class MonthData {private String label;private float value;public String getLabel() {return label;}public void setLabel(String label) {this.label = label;}public float getValue() {return value;}public void setValue(float value) {this.value = value;}
}

总结

对于本次view的实现,虽然我们自己的东西很少,但至少可以让我们有所提高,做出来总比做不出来的好,也希望你能和我一样,每天提高一点,不为别的,充实就好。

源码下载

https://github.com/kuangxiaoguo0123/ATChartStudy

Android中仿支付宝月账单view相关推荐

  1. android仿支付宝我的应用编辑界面,Android使用view仿支付宝月账单

    前言 昨夜同门云集推杯又换盏,今朝茶凉酒寒豪言成笑谈.半生累,尽徒然,碑文完美有谁看,隐居山水之间誓与浮名散. 简介 今天给大家带来的是支付宝的月账单view的实现,看到标题,你可能会觉得是自定义vi ...

  2. android记账本折线图_Android自定义View - 仿支付宝月账单折线图

    前言 支付宝有个查看月账单的功能,最近一直在学习自定义View,于是就尝试着自己实现了一个类似的折线图. 下面是支付宝消费分析功能截图和自己实现的折线效果截图: 支付宝消费分析折线图.jpg 效果1. ...

  3. android 自定义饼图半径不定,【Android】仿支付宝账单统计饼状图的自定义view

    仿支付宝统计饼状图的自定义view,如下图: 项目地址:https://github.com/bigeyechou/CustomViewCollection 目录:customviewcollecti ...

  4. android 支付宝月账单 统计图_记账其实很简单,用微信、支付宝就够了!

    用微信.支付宝记账,从起告别糊涂账 养成记账的好习惯,能让你对生活中的各种收支做到心中有数,从此告别糊涂账.长期坚持,能帮助我们理性消费.科学理财. 但或许是因为记账的过程太枯燥,或许是因为没找到合适 ...

  5. android 支付宝月账单 统计图_@三明人 支付宝年度账单来了!今天的你晒账单了吗?...

    支付宝2019年度账单出炉了!!! 支付宝账单登上微博热搜. 不查不知道 一查才知道自己原来曾经是"富豪" #看完账单的你#也上热搜 ▼ 不少人发出灵魂拷问: 我哪来这么多钱??? ...

  6. android 支付宝月账单 统计图_支付宝年度账单也太敷衍了!

    今天支付宝推出了2019年度账单,满怀期待地打开,想看看能否从数据中挖掘出2019年的一些信息,然而太失望了. 在去年关于支付宝账单的问题中,我提到算法可能存在的一些瑕疵,比如对于高铁购票/退票被反复 ...

  7. android 支付宝月账单 统计图_2019年你抢了多少微信红包?花了多少?(微信账单查看教程)...

    昨天一大早, 支付宝2019年度账单出炉, 不少网友看到账单就懵逼了: 一年到头都挣不了多少钱, 我个穷逼咋可能花了这么多钱? 对此,蚂蚁金服回应称, 今年支付宝年账单没有总消费的概念, 全部调整为总 ...

  8. Android实现仿支付宝流水

    今天给大家讲的是如何自定义下拉的ListView实现支付宝账单的效果,月份是需要悬浮的,然后没一个月归为一类,先看一个效果图吧. 场景:后台下发的数据就是一个List<对象>,考虑到实际情 ...

  9. Android中集成支付宝

    手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能. 人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫 ...

最新文章

  1. python3 pyinstaller 打包后执行文件运行错误 No such file or directory 和 Cannot load native module 解决方法
  2. 【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )
  3. intelli idea新建无scala class选项解决方案
  4. 遇到一个sql2000的问题,实在搞不懂了,求解决的办法?
  5. 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)
  6. [BZOJ2818][P2568]Gcd[欧拉函数]
  7. 转:SQL Server 2005安装过程图解
  8. Nginx服务器的压缩功能和缓存功能
  9. mysql几百万的表关联_mysql SQL优化,百万级2张表关联,从40分钟到3秒
  10. 二级专业目录计算机(软件)类,一、二级学科专业目录及名称代码表
  11. python怎么下载网站_python怎么下载网页上的文件
  12. springboot毕业设计 基于springboot旅游景区景点购票系统毕业设计设计与实现参考
  13. cass软件yy命令_CASS快捷命令大全
  14. 计算机基础和Linux安装
  15. python excel表格去重_EXCEL数据如何去重? Python:这事我比你熟
  16. 【嵌入式系统设计师备考(1)】嵌入式系统基础知识
  17. 听《正面管教》,论如何教育孩子
  18. python24点计算器_Python实现24点游戏
  19. vuex 是什么? 以及它的基本使用
  20. 51nod3107 小明爱宝石

热门文章

  1. python统计西游记人物名字出现次数_Python文本统计功能之西游记用字统计操作示例...
  2. 英文版软件测试程序,《软件测试英文1》.doc
  3. 论文阅读 [TPAMI-2022] U2Fusion: A Unified Unsupervised Image Fusion Network
  4. Win Server 2016安装Oracle_11gR2数据库
  5. 多步操作产生错误,请检查每一步的状态值 导致原因和排查过程
  6. Linux下重置(修改)mysql8.0密码
  7. 2022全国职业技能大赛-网络安全赛题解析总结⑤(超详细)
  8. 180515 逆向-被隐藏的真实(DDCTF_Re3)
  9. 产品经理是做什么的?如何入门?0经验拿下500强产品岗实习,我总结了这3点避坑攻略!
  10. exchange 2013 批量启用AD域中已存账号的邮箱(转)