2022年7月28日
NSString和std::string的相互转换 std::string to NSString std::string str = testStr(); NSString* ns = [NSString stringWithCString:str.c_str() encoding:NSUTF8StringEncoding]; NSString to std::string NSString *str = @"it is nsstring"; std::string str = std::string([str UTF8String]);……
阅读全文
2022年7月28日
创建framework项目 创建framework项目,此处命名为:testCppframework,这里语言选择使用Objective-C; 将Build Settings->Linking->Mach-O Type改成static; 选中 Target ,选择 Build Phases - Headers ,可以看出有三个选项,分别是 Public 、Private 、Project ,把需要公开给别人……
阅读全文
2022年7月28日
创建Android Native Library项目 添加.a文件和头文件 假设这里有一个tboxtest的C/C++项目, 在cpp文件夹下新建include文件夹(为方便管理而已,文件夹名随意),在include文件夹下创建指向tboxtest项目中存放头文件的文件夹的链接(也可以整个复制过来,……
阅读全文
2022年7月9日
经过最近一段时间对管理心理学的学习,我对心理学产生了一些新的更全面的认识。 心理学本质上使用理性工具对人性进行研究的学科。人性既存在于人的内心世界,也存在于人的潜意识世界,同时还会从人的行为上表现出来。虽然我们不可能在任意时刻知道任意一个个体的人的所思所想。但心理学告诉我们,人的个……
阅读全文
2022年7月7日
事情是这样的,前期我将岁寒输入法上传到了华为应用市场,最近我进行版本更新时审核不过,原因如下: 审核要求我接入华为的检测更新接口,简单的说就是在用户进入应用时检测一下应用市场是否有更新的版本,如果有的话就提示用户。 接入一个接口而已,想来应该也不难,不料竟是一个大坑。 如果我所使用的是……
阅读全文
2020年10月27日
Xamarin的坑还是不少的,有些问题可能会一而再,再而三地重复出现,为了避免下一次遇到同一个问题重复的查找,我将在开发中遭遇到的问题汇总在这里,既方便我自己查阅,也提供给别人做参考;以下给出的解决方案中一部分是解决思路,一部分是确实成功地解决了问题的方案(我将用斜体标出)。 1.……
阅读全文
2020年7月25日
前言 自岁寒拼音滑行输入方案问世以来,我对外的宣传口径一直都是“岁寒是双拼输入法的变种”,换言之,即岁寒是双拼的一个子集,他们的关系类似下图。 虽然有人建议我放弃这种说法,把岁寒宣传成全拼输入法的一种,如此更符合使用上的体验,也不会让新用户感觉过于陌生,滋生畏难情绪。毕竟岁寒确实与一……
阅读全文
2020年2月20日
自Android P发布以来,陆陆续续的有用户向我反映Android P下输入法存在导航栏变黑的问题,情况如下所示。 于是我抽时间研究了一下这个问题。 经过一番搜索,我在Simple Keyboard下找到了解决方案,其代码大致如下: private int mOriginalNavBarColor = 0; private int mOriginalNavBarFlags = 0; ...... private void setNavigationBarColor() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { ...... final Window window = getWindow().getWindow(); if (window……
阅读全文
2019年10月27日
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); } }……
阅读全文
2019年8月20日
在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……
阅读全文