包含标签 Xamarin 的文章

Xamarin开发中我所遇到Error错误的解决办法

Xamarin的坑还是不少的,有些问题可能会一而再,再而三地重复出现,为了避免下一次遇到同一个问题重复的查找,我将在开发中遭遇到的问题汇总在这里,既方便我自己查阅,也提供给别人做参考;以下给出的解决方案中一部分是解决思路,一部分是确实成功地解决了问题的方案(我将用斜体标出)。 1.……

阅读全文

Xamarin.iOS和Xamarin.Android中计算文本宽度的方法

Xamarin.iOS CoreGraphics.CGSize cGSize = new CoreGraphics.CGSize(1000, 1000); public double getDisplayLength(string str) { var s = new NSAttributedString(str); var size = s.GetBoundingRect(cGSize, NSStringDrawingOptions.UsesLineFragmentOrigin, null); return size.Width; } Xamarin.Android Paint paint = new Paint(); public double getDisplayLength(string str) { float[] widths = new float[str.Length]; paint.GetTextWidths(str, widths); float sum = 0; widths.ForEachWithIndex((o, index) => { sum += o; }); return sum; } 其中ForEachWithIndex是我自己写的一个扩展方法,方便遍历数组; public static void ForEachWithIndex<T>(this T[] array, Action<T, int> action) { for (int i = 0; i < array.Length; i++) { action(array[i], i); } }……

阅读全文

Xamarin.Android中的icon资源尺寸

在Xamarin.Android中,icon的相关资源应该放在mipmap文件夹中,其他的图片资源放在drawable文件夹中。现给出Xamarin.Android下各个mipmap文件夹的icon资源尺寸; mipmap文件夹 ic_launcher ic_launcher_round ic_launcher_foreground mipmap-mdpi 48*48 48*48 108*108 mipmap-hdpi 72*72 72*72 162*162 mipmap-xhdpi 96*96 96*96 216*216 mipmap-xxhdpi 144*144 144*144 324*324 mipmap-xxxhdpi 192*192 192*192 432*432……

阅读全文

在Xamarin.iOS中实现TextLayer的垂直对齐

代码如下: public class SHLCTextLayer : CATextLayer { public SHLCTextLayer(IntPtr handle) : base(handle) { } public SHLCTextLayer() : base() { } public SHLCTextLayer(NSCoder coder) : base(coder) { } public SHLCTextLayer(NSObjectFlag t) : base(t) { } public override void DrawInContext(CGContext ctx) { try { var height = this.Bounds.Size.Height; var fontSize = this.FontSize; var yDiff = (height - fontSize) / 2 - fontSize / 10; ctx.SaveState(); ctx.TranslateCTM((nfloat)0.0f, yDiff); base.DrawInContext(ctx); ctx.RestoreState(); } catch (Exception e) { ErrorReporter.Report(e); } } }……

阅读全文

Xamarin开发获取联系人信息的方法

在输入法开发中,需要获取通讯录的联系人姓名,然后将其编码导入词库中,本文就简单介绍一下两个平台上获取联系人信息的方法; Xamrin.Android平台 1.添加权限申明 在AndroidManifest.xml文件中间添加如下权限申明: <!-- 读取联系人权限,上传联系人需要用到此权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"……

阅读全文

解决Xamarin.Android绑定第三方库时类型丢失的问题(一)

现象 今天在做一个第三方库绑定时,遇到如下情况: ![](http://image.suihanime.com/解决Xamarin.Android绑定第三方库时类型丢失的问题(一)_00001.jpg) 摘取其中一段代码如下: /Users/huangboru/myfile/xamarin_workspace/version4/CrashEyeTestPlus/obj/Debug/generated/src/Com.Xsj.Crasheye.ActionError.cs(88,88): Error CS0234: The type or namespace name 'IInterfaceDataType' does not exist in the namespace 'Com.Xsj.Crasheye' (are you missing an assembly reference?) (CS0234) (CrashEyeTestPlus) 错误代码的意……

阅读全文

iOS12下跳转出现NSInternalInconsistencyException的解决方法

问题现象 在洛书1.7.5版本中出现这样一个bug:从键盘跳转输入法主程序失败;导入文件时跳转主程序也失败; 调试应用时出现如下错误: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Application has LSSupportsOpeningDocumentsInPlace key, but doesn't implement application:openURL:options: on delegate <AppDelegate: 0x283eda9c0> 原因分析 跳转时application:openURL:options:不存在导致出错;此前我重载了applicat……

阅读全文

如何开发Android原生库并应用到Xamarin.Android

本文将向大家介绍如何使用Android Studio开发原生库,并将其应用到Xamarin.Android的方法步骤; 本文中我所使用的Android Studio版本和Visual Studio For Mac版本情况分别如下: 下述内容在以上两个版本的开发环境中是有效的。 Android Studio开发部分 首先,新建……

阅读全文

如何用instrument对Xamarin.iOS进行代码级调优

此前我写了一篇如何使用Instrument对Xamarin.iOS应用进行调优,但里面仅仅介绍了如何加载Xamarin.iOS程序,在实际的调试中还是不够用的,有时候为了有的放矢,我们需要深入到代码一级才知道程序出现问题的根源,今天我给大家介绍一下如何用instrument对Xa……

阅读全文