Android UI开发之开源控件项目整理
一、Banner
1.https://github.com/youth5201314/banner
Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
使用方式为,在build.gradle里面增加如下配置:
dependencies{ compile 'com.youth.banner:banner:1.4.10' //最新版本 }
效果图如下:
二、Calendar
1.https://github.com/xiaojianglaile/Calendar
Android日历 仿小米 华为 滴答清单 365日历(农历),周视图 月视图 平滑滚动 节假日 五六行周切换 week or month calendar。
使用方法:
- MonthCalendarView的使用
<com.jeek.calendar.widget.calendar.month.MonthCalendarView android:id="@+id/mcvCalendar" android:layout_width="match_parent" android:layout_height="@dimen/small_month_calendar_height" app:month_day_text_size="@integer/small_calendar_text_size" app:month_selected_circle_color="@color/color_select_date_dialog_edit_text_bg_focus" app:month_selected_circle_today_color="@color/color_select_date_dialog_edit_text_bg_focus" app:month_show_lunar="true" app:month_show_task_hint="false" app:month_show_holiday_hint="true" app:month_text_size="@integer/small_calendar_text_size"/>
- ScheduleLayout的使用
layout_schedule.xml文件,必须包含MonthCalendarView、WeekCalendarView和ScheduleRecyclerView,可以直接引用改文件作为布局。
ScheduleLayout: app:default_view="week" <!-默认周视图-> app:default_view="month" <!-默认月视图-> app:auto_change_month_row="false" <!-不自动改变五六行-> app:auto_change_month_row="true" <!-自动改变五六行->
- 设置日期监听
slSchedule.setOnCalendarClickListener(new OnCalendarClickListener() { @Override public void onClickDate(int year, int month, int day) { //监听获得点击的年月日 } });
- 跳转到今天
slSchedule.getMonthCalendar().setTodayToView();
- 跳转到某一天
slSchedule.initData(year, month, day);
效果图如下:
2.https://github.com/yannecer/NCalendar
特点:
- 3种常见日历交互方式,MIUI系统日历:miui9、miui10、华为emui,miui9和钉钉日历类似,华为emui和365日历类似
- 月周滑动切换,月周不选中
- 支持多选,设置多选的数量
- 支持设置默认视图,默认周日历或者月日历
- 支持周状态固定,下拉刷新等
- 支持设置一周开始的是周一还是周日
- 可设置日期区间,默认区间从1901-01-01到2099-12-31
- 支持农历,节气、法定节假日等
- 支持添加指示点及设置指示点位置
- 支持各种颜色、距离、位置等属性
- 支持日历和列表之间添加view
- 支持替换农历、颜色等
- 支持自定义日历页面
- 支持内部TargetView为任意View
- 支持日历拉伸功能
效果图:
三、ProgressBar
1.https://github.com/zenoTsai/ArcProgressBar
项目提供了四种圆形进度条展示效果,支持自行实现绘制接口来实现想要的效果。
使用方式为,在build.gradle里面增加如下配置:
dependencies { compile 'com.czp.arcProgressBar:ArcProgressBar:1.0.1' }
效果图如下:
四、FloatingWindow
1.https://github.com/renhui/FloatingWindowDemo
通过 Service + WindowManager 来控制悬浮窗的展示,通过修改展示的内容也可以做他用:
展示效果:
五、WebView
1.https://github.com/tekinarslan/CrosswalkWebview
Cordova 和 CrosswalkWebview 配合一起使用,能够很好的支持H5的展示效果,常用于H5游戏开发。Crosswalk是一款开源的web引擎,在Android4.0以上的系统中使用Crosswalk可以让应用程序在h5方面上获得一致性体验。
效果图:
2.https://github.com/open-android/BridgeWebView
这个项目是一个JS与Java交互的Demo。
效果图如下:
使用方式如下:
1. 在project的build.gradle添加
allprojects { repositories { maven { url "https://jitpack.io" } } }
2. 在Module的build.gradle添加依赖
compile 'com.github.open-android:BridgeWebView:v1.0'
其他的具体使用方式可以去项目的ReadMe文件中去找。
3.https://github.com/mogoweb/365browser
项目基于Chromium for Android,目标是在chromium核心的基础上提供Android WebKit API全兼容的接口,精力集中于浏览器内核精简与完善。
效果图:
六、Chart 图表
1. https://github.com/diogobernardino/WilliamChart
Williamchart是一个Android库,用于帮助在Android应用程序中实现图表。对于那些想要贡献的人,我的想法不仅仅是实现传统的图表功能,而是在表示和可视化数据时可以愉快和直观的东西。我宁愿保持图表简洁,而不是过度使用。
目前它提供:
LineChartView
BarChartView
HorizontalBarChartView
StackBarChartView
HorizontalStackBarChartView
使用方式:
compile 'com.diogobernardino:williamchart:2.5.0'
效果图:
2.https://github.com/lecho/hellocharts-android
适用于Android的图表库兼容API 8+(Android 2.2)。在硬件加速可用时效果最佳,因此建议使用API 14+(Android 4.0)。
特征:
- 折线图(立方线,实线,散点)
- 柱形图(分组,堆叠,负值)
- 饼形图
- 气泡图
- 组合图表(列/行)
- 预览图表(用于柱形图和折线图)
- 缩放(捏合缩放,双击缩放),滚动和闪烁
- 自定义和自动生成的轴(顶部,底部,左侧,右侧,内侧)
- 动画
使用方式:
Android Studio/Gradle
- Maven Central/jCenter, add dependency to your
build.gradle
:
dependencies{ compile 'com.github.lecho:hellocharts-library:1.5.8@aar' }
- JitPack.io, add
jitpack.io
repositiory and dependency to yourbuild.gradle
:
repositories { maven { url "https://jitpack.io" } } dependencies { compile 'com.github.lecho:hellocharts-android:v1.5.8' }
效果图:
3.https://github.com/PhilJay/MPAndroidChart
一个强大的Android图表视图/图表视图库,支持线条 - 饼图 - 雷达 - 气泡和烛台图表以及缩放,拖动和动画。
使用方式:
Gradle
- Project level
build.gradle
allprojects { repositories { maven { url 'https://jitpack.io' } } }
- App level
build.gradle
dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3' }
Maven
<!-- <repositories> section of pom.xml --> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> <!-- <dependencies> section of pom.xml --> <dependency> <groupId>com.github.PhilJay</groupId> <artifactId>MPAndroidChart</artifactId> <version>v3.0.3</version> </dependency>
效果图:
LineChart
BarChart
水平条形图
组合图表
PieChart
ScatterChart
CandleStickChart
BubbleChart
RadarChart
七、待续
Android UI开发之开源控件项目整理的更多相关文章
- 开源整理:Android App新手指引开源控件
开源整理:Android App新手指引开源控件 一个App第一次与用户接触或者发生大版本更新时,常常会用户进行新手引导,而一个好的新手指引,往往能够方便新用户快速了解操作你的应用功能.新手指引的重要 ...
- 转载: 开源整理:Android App新手指引开源控件
http://blog.coderclock.com/2017/05/22/android/open-source-android-app-guide-view-library/ 开源整理:Andro ...
- Win10 UWP开发系列——开源控件库:UWPCommunityToolkit
在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...
- Android UI组件----ListView列表控件详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- Android UI 统一修改Button控件的样式,以及其它系统控件的默认样式
先介绍下修改原理:首先打开位于android.widget包下面的Button.java文件,这里有一句关键的代码如下: public Button(Context context, Attribut ...
- Android一个炫酷的树状图组织架构图开源控件实现过程
Android一个炫酷的树状图组织架构图开源控件 文章目录 [1 简介] [2 效果展示] [3 使用步骤] [4 实现基本布局流程] [5 实现自由放缩及拖动] [6 实现添加删除及节点动画] [7 ...
- 十二、Android UI开发专题(转)
http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=18736&page=1#pid89255Android UI开发专题(一) 之界面设计 近期很 ...
- Android UI开发专题(转)
http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=18736&page=1#pid89255 Android UI开发专题(一) 之界面设计 近期 ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
随机推荐
- Pandas学习(一)——数据的导入
欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...
- Java修炼——四种方式解析XML_SAX
四种方式解析XML:DOM JDOM DOM4J SAX 先写一个XML栗子: <?xml version="1.0" encoding="U ...
- Apache + WordPress 从 0 搭建
引言 又到周末了,周末小编一般不更新系列文章,原因嘛是因为要攒稿子,年底工作比较忙,不攒点稿子是要断更的:( 所以周末一般聊点简单轻松加愉快的东西,小编现在的博客站是由 HEXO 进行搭建的,最近随着 ...
- python爬虫学习---爬取微软必应翻译(中英互译)
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:OSinooO 本人属于python新手,刚学习的 python爬虫基础 ...
- Selenium之单选框操作
单选框操作: 何为单选框?就是永远只能选中一个选项的意思.一般单选框的图标都是呈圆形的.我们通过selenium可直接定位到被选中的选项上,然后用click方法实现点击. 下面附上一段rb.html代 ...
- 【CuteJavaScript】ES2019 新特性汇总
最近 ECMAScript2019,最新提案完成:tc39 Finished Proposals,我这里也是按照官方介绍的顺序进行整理,如有疑问,可以查看官方介绍啦~ 另外之前也整理了 <ES6 ...
- 【Java Web开发学习】跨域请求
[Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...
- 如何用Postman做接口测试
postman介绍&测试准备: postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便. 前期准备:测试前,需要安装好postman ...
- webpack学习2.2webpack简介,初步了解
webpack V1功能进化 编译打包 HMR(模块热更新) 代码分割 文件处理(loader) webpack V2功能进化 tree shaking(并欸有在项目中使用的代码不会打包到里面,打包之 ...
- JS 正则表达式^$详解,脱字符^与美元符$同时写表示什么意思?
壹 ❀ 引 对于初学正则的同学来说,^$这两个看似简单的字符却在使用中总让匹配结果超出我们的预期,^什么时候表示行首什么时候表示反义?^ $两个一起写表示什么含义?今天我们就来详细聊聊这两个字符. ...