使用Xamarin.Android时,会用到各种第三方库,而这些库基本上是java编写的,要在Xamarin.Android中使用这些库,就需要通过Android Binding Project绑定对应的java库,然后在C#中使用。绑定时,可能需要编写相关的转换规则或者修改对应的java源代码,遇到问题时,可以到Xamarin的官网查看,也可以Google。
Xamarin.Android绑定参考文档地址:
下面我就分享一下我绑定过的第三方库以及遇到的相关问题。
1.Android-Pull-To-Refresh
a)原项目地址: https://github.com/naver/android-pull-to-refresh
b)说明:一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新。在网上看见还有一个不错的下拉刷新控件,有兴趣的朋友可以看看,地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
c)注意事项:这个库的绑定比较麻烦,很多朋友绑定都遇到了问题,绑定完成后都无法正常使用。我在绑定此库时,也遇到了很多的问题,不过最后都解决了,绑定详细步骤请参考:http://www.cnblogs.com/loyldg/p/Xamarin-Android-PullToRefresh.html
2.ResideMenu
a)原项目地址:https://github.com/SpecialCyCi/AndroidResideMenu
b)注意事项:这个项目的绑定也有一点麻烦,需要注意的地方比较多,绑定详细步骤请参考:http://www.cnblogs.com/loyldg/p/Xamarin-Android-ResideMenu.html
3.AndroidBootstrap
a)原项目地址:https://github.com/Bearded-Hen/Android-Bootstrap
b)说明:Bootstrap 风格的按钮
c)注意事项:不需要编写任何规则,直接绑定
d)效果图:
4.SwipeListView
a)原项目地址: https://github.com/47deg/android-swipelistview
b)说明:支持定义ListView左右滑动事件,支持左右滑动位移,支持定义动画时间
c)注意事项:这个库绑定比较简单,绑定库需要引用nineoldandroids-library-2.4.0.jar,生成类型设置为EmbeddedReferenceJar就可以了。
5.SwipeLayout
a)原项目地址:https://github.com/daimajia/AndroidSwipeLayout
b)注意事项:这个项目的绑定只编写一个规则即可,在Metadata.xml里添加如下规则
<attr path="/api/package[@name='com.daimajia.swipe.implments']/class[@name='SwipeItemMangerImpl.Mode']"
name="managedName">
ItemMode
</attr>
6.NumberProgressBar
a)原项目地址: https://github.com/daimajia/NumberProgressBar
b)说明:带数字进度的进度条
c)注意事项:不需要编写任何规则,直接绑定
d)效果图:
7.DroidIcon
a)原项目地址:https://github.com/theDazzler/droidicon
b)说明:Droidicon 提供超过1600款定制图标,让你可以超级容易的把图标和徽章添加到您的应用程序中。你可以自定义你想要的各种形式的图标,给图标添加描边,透明度和颜色过滤器。包括Google Material Design、Font Awesome、Iconic、Entypo 以及 Meteocons 系列。
c)注意事项:不需要编写任何规则,直接绑定
d)效果图:
8.NiftyDialogEffects
a)原项目地址:https://github.com/sd6352051/NiftyDialogEffects
b)说明:支持自定义飞入动画样式的 Dialog
c)注意事项:绑定项目需要添加NineOldAndroid-2.4.0.jar文件到Jars目录,并将生成类型设置为ReferenceJar,使用该绑定项目的项目需要添加对NineOldAndroids的引用。
d)效果图:
9.QuickReturnHeader
a)原项目地址:https://github.com/ManuelPeinado/QuickReturnHeader
b)说明:ListView/ScrollView的header或footer,当向下滚动时消失,向上滚动时出现
c)注意事项:不用编写规则,但是需要添加android-support-v4.jar到Jars目录,并将生成类型设置为ReferenceJar,使用该绑定库的项目需要添加对Xamarin.Android.Support.v4的引用
10.ProcessButton
a)原项目地址: https://github.com/dmytrodanylyk/android-process-button
b)说明:带加载或提交进度的Button
c)注意事项:绑定库和使用绑定库的项目均添加对Xamarin.Android.Support.v4的引用
d)效果图:
11.BaiduMapSDK
a)原项目地址:http://developer.baidu.com/map/
b)注意事项:只编写一条规则即可:
<attr path="/api/package[@name='com.baidu.mapapi']/class[@name='VersionInfo']/field[@name='VERSION_INFO']"
name="managedName"
>
SDKVersionInfo
</attr>
12.WeekViewCalendar
a)原项目地址:https://github.com/alamkanak/Android-Week-View
b)说明:日期控件,支持周,天视图,支持自定义样式
绑定库下载地址:https://files.cnblogs.com/files/loyldg/Android-Binding-Libs.rar
有需要源代码的朋友,请留下邮箱,我统一发送。