huashengzzz / Smartchart
Licence: apache-2.0
智能折线图、柱状图,支持水平垂直滚动拉伸,自适应屏幕(解决与scrollview滑动冲突),x轴y轴自定义刻度以及标题,双向滚动列表;增加一周天气折线图以及24小时天气预报
Stars: ✭ 85
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Smartchart
Stickyscrollview
Sticky header and footer for android ScrollView.
Stars: ✭ 284 (+234.12%)
Mutual labels: android-ui, scrollview
Anychart Android
AnyChart Android Chart is an amazing data visualization library for easily creating interactive charts in Android apps. It runs on API 19+ (Android 4.4) and features dozens of built-in chart types.
Stars: ✭ 1,762 (+1972.94%)
Mutual labels: chart, android-ui
Consecutivescroller
ConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView、ImageView、LinearLayou、自定义View等)持续连贯滑动的容器,它使所有的子View像一个整体一样连续顺畅滑动。并且支持布局吸顶功能。
Stars: ✭ 1,383 (+1527.06%)
Mutual labels: android-ui, scrollview
Indicatorscrollview
🧀 A dynamic scroll view that animates indicators according to its scroll position.
Stars: ✭ 355 (+317.65%)
Mutual labels: android-ui, scrollview
Fancyscrollview
[Unity] A scrollview component that can implement highly flexible animations.
Stars: ✭ 1,216 (+1330.59%)
Mutual labels: scrollview
Sing App
💥Free and open-source admin dashboard template built with Bootstrap 4.5 💥
Stars: ✭ 1,187 (+1296.47%)
Mutual labels: chart
Edxposedmanager
Companion Android application for EdXposed
Stars: ✭ 1,172 (+1278.82%)
Mutual labels: android-ui
Recyclercalendarandroid
A simple DIY library to generate your own custom Calendar View using RecyclerView, written in Kotlin
Stars: ✭ 83 (-2.35%)
Mutual labels: android-ui
Confetti
An Android particle system library for displaying confetti!
Stars: ✭ 1,194 (+1304.71%)
Mutual labels: android-ui
Highcharts trendline
HighCharts demo of scatter plot, including a trend line
Stars: ✭ 79 (-7.06%)
Mutual labels: chart
Ember C3
📈 Ember addon library for C3, a D3-based reusable chart library.
Stars: ✭ 81 (-4.71%)
Mutual labels: chart
Androidformenhancer
Form validation library for Android applications.
Stars: ✭ 71 (-16.47%)
Mutual labels: android-ui
Cycleviewpager2
使用 ViewPager2 实现无限轮播效果,可以用来实现 banner 以及上下滚动文字广告等。Implementing android cycle viewPager with ViewPager2
Stars: ✭ 76 (-10.59%)
Mutual labels: android-ui
Cwac Colormixer
CommonsWare Android Components: ColorMixer
Stars: ✭ 80 (-5.88%)
Mutual labels: android-ui
Cwac Layouts
CWAC Layouts: Custom Containers, Concisely Coded
Stars: ✭ 76 (-10.59%)
Mutual labels: android-ui
Ac D3
Javascript Library for building Audiovisual Charts in D3
Stars: ✭ 76 (-10.59%)
Mutual labels: chart
SmartChart
本项目是个人开发所用的一套常用框架,里面包含OkHttp的网络请求封装、tablayout的自定义,SmartRefreshlayout下拉上拉,activity右滑退出,以及各种布局回弹效果和android的版本适配(这些不是主要目的,主要。。。请看下面👇)。
这里主要介绍近期项目所需的表格和折线以及二维表格,有需求的同学可以不妨借鉴 😆。
示例
二维表格
一周以及24小时天气预报
折线图和柱状图
项目中的柱状图和折线图集成的是hellocharts-android的核心代码,在此基础上增加一些修改。
增加特性说明:
- X轴Y轴的标题样式和旋转角度
- 增加label的设置方法
- 解决scrollview的滑动冲突
冲突代码:
view.setOnTouchListener(new View.OnTouchListener() {
float ratio = 1.2f; //水平和竖直方向滑动的灵敏度,偏大是水平方向灵敏
float x0 = 0f;
float y0 = 0f;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x0 = event.getX();
y0 = event.getY();
break;
case MotionEvent.ACTION_MOVE:
float dx = Math.abs(event.getX() - x0);
float dy = Math.abs(event.getY() - y0);
x0 = event.getX();
y0 = event.getY();
scrollView.requestDisallowInterceptTouchEvent(dx * ratio > dy);
break;
}
return false;
}
});
二维表格
使用说明:
开发者只需要关心中间content部分的adapter怎么写,其余的表头部分只需要将数据传进去就可以了,剩下的数据填充及同步滑动部分将由本库自动完成。 而且表头和下放列表的宽度是自动适应大小,取决于content部分的item的宽度。右侧上下左右滑动的列表随着list集合的增加而向右动态添加。同时支持 下拉刷新。(待完善:左边不动两个列表也要做成动态添加)
APIs:
/**
* 设置表的标题
*/
public void setTitle(String title);
/**
* 设置表标题的背景
*/
public void setTitleBackgroundResource(int resourceId);
/**
* 设置表头的宽度
*/
public void setTitleWidth(int titleWidth) ;
/**
* 设置表头的高度
*/
public void setTitleHeight(int titleHeight);
/**
* 设置横向表头的标题
*/
public void setRowDataList(List<String> rowDataList);
/**
* 设置纵向表头的内容
*/
public void setColumnDataList(List<String> columnDataList);
/**
* 横向表头的分割线
*/
public void setRowDivider(Drawable rowDivider) ;
/**
* 纵向表头的分割线
*/
public void setColumnDivider(Drawable columnDivider);
/**
* 设置纵向表头的背景色
* 颜色格式如:#607D8B(String)
* 下同
*/
public void setColumnColor(String columnColor);
/**
* 设置标题的背景色
*/
public void setTitleColor(String titleColor);
/**
* 设置横向表头的背景色
*/
public void setRowColor(String rowColor) ;
/**
* 设置纵向表头的适配器
*/
public void setColumnAdapter(BaseAdapter columnAdapter);
/**
* 设置content的初始position
* 比如你想进入这个Activity的时候让第300条数据显示在屏幕上(前提是该数据存在)
*/
public void setInitPosition(int initPosition);
/**
* 返回中间内容部分的ListView
*/
public ListView getContentListView();
/**
* 返回左边表头的ListView
*/
public ListView getColumnListView() ;
/**
* 返回上访表头的最外层布局
*/
public LinearLayout getRowLayout();
/**
* 设置是否开启下拉刷新(默认关闭)
*/
public void setSwipeRefreshEnabled(boolean bool);
/**
* 设置监听
*/
public void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) ;
/**
* 返回下拉刷新控件
*/
public SwipeRefreshLayout getSwipeRefreshLayout();
24小时天气变化用的hellcharts所写,7天天气预报是自定义view
感谢
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].