#Android

背景

这篇博客会介绍如何自定义用Xamarin开发的Android以及iOS的navigation bar的返回的图标和文字。

之所以会需要以博客的形式记录这个知识点是由于本身如果Xamarin.Forms来做一个最基本的控件的custom renderer,思路会是这样的:首先要了解我们要自定义的控件是Xamarin.Forms中的哪个控件,然后在.NET Standard的项目中定义一个类去继承自Xamarin.Forms下的这个控件的类。之后就是在Xamarin的platform specific的项目中,各自定义两个新的renderer的类,加上一定的属性来表明这两个renderer是用在这个我们新定义的控件上的,然后重写这个renderer的OnElementChanged方法,这个方法会在改元素被生成的时候调用。最后,在XAML的页面中使用新的自定义的控件就可以达到效果。

具体的官方教程在这里:Xamarin.Forms Custom Renderers

阅读更多

对于使用Xamarin来开发安卓应用的工程师来说,了解如何将Java代码转换为C#代码是一个非常重要的事情。

最近我正在使用纯的Xamarin.Android项目来实现一些东西,但是我遇到了非常多的问题。

当你想要解决这些问题的时候,通常你在网上找到的都是原生态安卓的一些文档资料以及一些sample的项目。为了解决问题,我就找了一个来自谷歌官方的一个sample程序,是用Java写的。

所以我必须要学会如何转换Java code到C#,否则开发Xamarin.Android的程序会变得非常困难。

阅读更多

背景

Xamarin的开发的一个无法避免的弊端就是在很多Android原生态应用中被普遍用到的库,未必有.NET的实现版本。这个问题就如同当时微软WinPhone失败的原因一样,在另外两个平台中非常普遍的应用,在WinPhone中没有或者开发进度缓慢。

Xamarin为了解决这个问题,在Android和iOS的平台下都设计了一个叫做binding library的项目类型,这个项目类型就是为了将user找到的任何已经发布成类库的jar包等,或者iOS下的objective C的类库包转换成一个DLL文件。

本文主要讲述的是Android端的关于jar包的binding。Android还有一种aar包,这种包是带有resource内容的jar包,所以通常理解上来说原理应该是一样的。

内容

本文我主要分两部分,第一部分是通过一个微软资深员工写的troubleshooting的文档来做一个整理归纳,以便用于以后的参考。第二部分是我自己实际做过的troubleshooting中我写过的一些东西,以及对照第一部分中知识点中的原理。

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×