草庐IT

Re-activate

全部标签

ios - 让 VoiceOver 说 "Swipe Up or Down to Select a Custom Action, then double tap to activate"

我有一个UITextView,里面有两个不同的超链接。为了在VoiceOver打开时有机会在两个链接之间进行选择,我做了:classMyTextView{overridefuncawakeFromNib(){super.awakeFromNib()letstr="xxxxxxOption1yyyyOption2"letattrStr=NSMutableAttributedString(str)letrangeOption1=(strasNSString).range(of:"Option1")letrangeOption2=(strasNSString).range(of:"Optio

RE: 从零开始的车载Android HMI(二) - Widget

1.Widget概述Widget,又叫“微件”、“小部件”。小部件是放置在主屏幕(Launcher)上的Android应用程序的小工具或控件。通过小部件可以将自己喜欢的应用程序放在主屏幕上,以便快速访问它们或是显示一些重点信息。小部件可以是多种类型,例如信息小部件、集合小部件、控件小部件和混合小部件。Android为我们提供了一个完整的框架来开发我们自己的小部件。在手机上我们已经看过一些常见的小部件,例如音乐小部件,天气小部件,时钟小部件等。由于车载系统需要我们额外开发天气、音乐、时钟等应用,所以Widget在车载应用开发中,也算是必修课了。不仅如此,开发车载Launcher时还需要做额外开发

RE: 从零开始的车载Android HMI(一) - Lottie

1.前言多年以前汽车还是以机械仪表主体的年代,各大汽车主机厂商并不十分关注操作系统UI的交互功能,但是随着车载SOC算力的不断提高以及主机厂商对汽车座舱竞争的白热化。座舱的HMI在设计上在强调功能性的同时也开始关注UI的艺术性,HMI的设计师们期望艺术与功能应该协同工作,让用户沉浸在“第三空间”的体验中。有了需求程序员就需要关注如何实施和落地,然而Android应用本身虽然有着完整的动画框架支持,但是开发复杂、调试耗时,大型的gif或逐帧动画对于CPU&内存占用都不太理想,所以许多Android的手机应用基本上不怎么有动画。而且车载HMI上越来越多的开始引入各种光影、粒子效果,如果基于Andr

Activity启动过程

Activity启动流程分为三步:1.Launcher请求ATMS过程image.png2.ATMS到ApplicationThread的调用过程image.png3.ActivityThread启动Activity过程image.pngActivityThread启动Activity的过程中performLauncherActivity的工作如下:1.从ActivityClientRecord中获取待启动的Activity的组件信息2.通过Instrumentation的newActivity方法使用类加载器创建Activity3.通过LoadedApk的makeApplication方法来

RE: 从零开始的车载Android HMI(三) - SurfaceView

1.前言从零开始的车载AndroidHMI是一个系列性的文章,目的在于展示一些在Android手机应用开中不常用,但是在车载应用开发中较为常用的一系列AndroidHMI组件,希望能够帮助初入车载应用开发的同学了解车载应用开发过程中常用的各种UI组件。RE:从零开始的车载AndroidHMI(一)-LottieRE:从零开始的车载AndroidHMI(二)-Widget本文参考资料:《Android自定义控件开发入门与实战》-启舰UnderstandingCanvasandSurfaceconceptsSurface|AndroidDevelopers2.SurfaceView简介相信每一个A

IOS手把手轻松实现灵动岛(Live activity)

首先,我们先简单了解下灵动岛紧凑视图.png拓展视图.png锁屏视图.pngLiveActivities依赖于Widget实现函数和页面,而与Widget不同,LiveActivities无法访问网络或接收位置更新,更新LiveActivities可以使用ActivityKit和远程推送,同时ActivityKit可以控制LiveActivities的开始,更新和结束。灵动岛的启用由我们进行控制,且一个程序可以实现多个灵动岛,但启用最多展示两个灵动岛一共有三种样式展示:1.只有一个LiveActivities活动时,如下图,将在灵动岛的左右两个部分显示信息(紧凑级),点击打开App查看详细信息

运行 Vue项目出现报错:10% building 2/5 modules 3 active ...dmin\node_modules\@vue\cli-plugin-eslint的解决方法

前言最近在运行vue项目时出现了很多错误,由于作者在这方面是个小白😏,这里特此记录一下问题及解决方法首先安装环境node.js,这里没有什么好说的。网上有很多教程❌问题一运行项目出现报错‘vue-cli-service’不是内部或外部命令,也不是可运行的程序或批处理文件。发现没有安装vue脚手架,安装完vue-cli脚手架后,运行命令vue-V查看版本信息,又出现报错vue:无法加载文件E:\Soft\Node\node_global\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的a

ios - 在 UIAlertView 中重新定位 Activity Indicator

我正在使用一个UIAlertView,里面有一个Activity指示器,但指示器的位置不正确。我确定我遗漏了一些非常小的东西,但如果有人能帮助我,那就太好了。下面是我的代码和相应的代码片段varprogressAlert:UIAlertView=UIAlertView(title:"Downloading",message:"Patientsinformation...",delegate:nil,cancelButtonTitle:nil);varloadingIndicator:UIActivityIndicatorView=UIActivityIndicatorView()loa

iOS : How to activate image stabilization on an AVCaptureSession?

我想在我的应用中捕捉稳定的图像,但我还没有找到实现它所需的配置。这是我的代码:letfrontCamera=cameraWithPosition(AVCaptureDevicePosition.Front)letcaptureSession=AVCaptureSession()ifcaptureSession.canSetSessionPreset(AVCaptureSessionPresetPhoto){captureSession.sessionPreset=AVCaptureSessionPresetPhotoprint("Sessionpresethasbeenset")}el

vivado板子连接报错no active target may be locked by another hw_server

vivado连接板子点击autoconnect后错误ERROR:[Labtoolstcl44-494]Thereisnoactivetargetavailableforserveratlocalhost.Targets(s)",jsn-JTAG-SMT2-210251A08870"maybelockedbyanotherhw_server.解决方法Ctrl+Alt+Delete打开任务管理器找到进程hw_server.exe,关闭它重新点autoconnect说明这个进程占用了板子,使得vivado连接失败,关掉重连即可。这种情况偶尔发生,原因不明。