Xamarin改写安卓Residemenu控件
1.下载最新的Residemenu安卓代码。用intellig打开,重新编译一下。

2.需要将其中的Residemenu,用gradle编译生成*.aar文件格式。
2.1 下载gradle,配置环境变量,包括java、androrid_home、gradle环境变量。
GRADLE_HOME C:\gradle-2.7-bin\gradle-2.7
ANDROID_HOME C:\Users\Administrator\AppData\Local\Android\android-sdk
Path %GRADLE_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
2.2 在Residemenu项目文件中有,也有了build.gradle文件。在命令行中,转到Residemenu目录下,执行gradle build命令,就可以在ResideMenu\build\outputs\aar下,产生两个对应的aar文件。



3.将aar文件放到xamarin jar binding项目中,并且要设置生成操作为LibraryProjectZip。其中,Residemenu应用了nineoldandroids-library-2.4.0.jar,所以在binding项目中,会有一些错误。需要在Metadata.xml中,将错误排除。以后在binding安卓项目时,对错误的都先可以采用排除的方式,否则要进行调试修改很费时间。

修改metadata.xml,将错误的都先移除掉
<metadata>
<remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='AnimatorSet']/method[@name='setDuration' and count(parameter)=1 and parameter[1][@type='long']]" />
<remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='ValueAnimator']/method[@name='setDuration' and count(parameter)=1 and parameter[1][@type='long']]" /> <remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='AnimatorSet']" /> <remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='ValueAnimator']" />
<remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='PropertyValuesHolder.FloatPropertyValuesHolder']/constructor[@name='PropertyValuesHolder.FloatPropertyValuesHolder' and count(parameter)=2 and parameter[1][@type='java.lang.String'] and parameter[2][@type='com.nineoldandroids.animation.FloatKeyframeSet']]"/>
<remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='PropertyValuesHolder.IntPropertyValuesHolder']/constructor[@name='PropertyValuesHolder.IntPropertyValuesHolder' and count(parameter)=2 and parameter[1][@type='java.lang.String'] and parameter[2][@type='com.nineoldandroids.animation.IntKeyframeSet']]" /> <remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='PropertyValuesHolder.IntPropertyValuesHolder']/constructor[@name='PropertyValuesHolder.IntPropertyValuesHolder' and count(parameter)=2 and parameter[1][@type='com.nineoldandroids.util.Property'] and parameter[2][@type='com.nineoldandroids.animation.IntKeyframeSet']]" />
<remove-node path="/api/package[@name='com.nineoldandroids.animation']/class[@name='PropertyValuesHolder.FloatPropertyValuesHolder']/constructor[@name='PropertyValuesHolder.FloatPropertyValuesHolder' and count(parameter)=2 and parameter[1][@type='com.nineoldandroids.util.Property'] and parameter[2][@type='com.nineoldandroids.animation.FloatKeyframeSet']]" />
</metadata>
这样就可以编译成功了。
4.在Xamarin项目中就可以引用binding后的dll使用了。

Xamarin改写安卓Residemenu控件的更多相关文章
- 很不错的安卓FadingActionBar控件源码
这个我刚刚从一个github下载过来的,自己测试一下运行了,感觉还不错的,安卓FadingActionBar控件源码,现在就给大家分享一下,源码我已经上传到源码天堂那里了,想下载的朋友可以去那里下载吧 ...
- 安卓控件 仪表盘控件 柱状图控件 曲线控件 xamarin.android 分类器 瓶子控件 报警控件 水箱控件 进度条控件等
本篇博客主要介绍一个控件库,HslControls.dll 的界面,这个控件库支持winform,winform的参考另一篇文章:https://www.cnblogs.com/dathlin/p/1 ...
- Xamarin.forms 自定义dropdownview控件
一 基本说明 想用xamarin做个像美团这样的下拉列表进行条件选择的功能,但是但是找了半天好像没有现成的,也没有其他类似的控件可以走走捷径,再则也没有找到popwindow之类的东东,这里只好使用s ...
- Xamarin.forms 自定义tabview控件
一 问题描述 forms本身ui代码是翻译为平台原生代码,forms按照xaml技术进行对android和ios两种ui模型进行公共抽象出了几种page和view,在空杯博客已经有详细介绍 http: ...
- Xamarin Forms 进度条控件
本文翻译:http://xamlnative.com/2016/04/14/xamarin-forms-a-simple-circular-progress-control/ 里面都是胡说的,如果看不 ...
- python +uiautomator 安卓UI控件操作
一.搭建环境 准备:win7.JDK.androidSDK(adt-bundle-windows-x86_64-20140702\sdk).Appium.安卓模拟器(真机也可以),可以到这个地址下载h ...
- 安卓Android控件ListView获取item中EditText值
可以明确,现在没有直接方法可以获得ListView中每一行EditText的值. 解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写Ba ...
- Xamarin.android 重写axml控件
https://www.cnblogs.com/lonelyxmas/p/5632694.html <Laco: 用来用引指定的控件 android:layout_widt ...
- xamarin android——数据绑定到控件(二)
本示例为通过媒体内容提供器获取本机中的图片显示在Gallery中. 活动中简单的初始化代码 private void InitGallery() { Gallery gallery = FindVie ...
随机推荐
- iOS-点击视图,视图背景颜色随机更改
一.效果图 二.代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the v ...
- ActiveReports 交互式报表之向下钻取解决方案
在 ActiveReports 中可以动态的显示或者隐藏某区域的数据,通过该功能用户可以根据需要显示或者隐藏所关心的数据,结合数据排序.过滤等功能可以让用户更方便地分析报表数据. 本文中展示的是销售数 ...
- Android学习----AndroidManifest.xml文件解析
一个Android应用程序的结构: 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了pack ...
- Python报错:SyntaxError: Non-ASCII character '\xe5' in file的解决方法
SyntaxError: Non-ASCII character '\xe5' in file 原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他的 ...
- 如何做好PPT?
- 测试Flask+PYTHON的WEB框架
参数URL: http://blog.csdn.net/qwiwuqo/article/details/8970621 安装flask之前,你必须要先安装python和easy_install. 安装 ...
- 查看堵塞的SQL
SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.t ...
- POJ2479 Maximum sum(dp)
题目链接. 分析: 用 d1[i] 表示左向右从0到i的最大连续和,d2[i] 表示从右向左, 即从n-1到i 的最大连续和. ans = max(ans, d1[i]+d2[i+1]), i=0,1 ...
- COJ 0503 比赛
比赛 难度级别:D: 运行时间限制:2000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 初三年级举办了一场篮球赛,共有N个班级参加.当WZJ知道了这件事情, 已经 ...
- CentOS安装搜狗词库
中文输入使用ibus-pinyin. 在ibus-pinyin里使用搜狗词库 # wget http://hslinuxextra.googlecode.com/files/sougou-phrase ...