经典版 下面这个键位图应该是大家最常看见的经典版了。 对应的简体中文版 其实经典版是一系列的入门教程键位图的组合结果,下面是不同编辑模式下的键位图。
set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()
1 简介 插件介绍:YouCompleteMe是一款针对Vim的快速,即用型的模糊搜索代码补全引擎。包括以下几种引擎: 基于标识符的引擎,可与每种编程语言一起使用 基于Clang的引擎,为C / C ++ / Objective-C / Objective-C ++(C系列)提供本地语义代码补全 基于Jedi的Python 2和3的补全引擎 基于OmniSharp的C#补全引擎 Go的Gocod
Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。 LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。 (0)她可以有很多地方可以使用,如
S2013中自带有git插件,但对于习惯另外安装使用git bash的人来说,这个插件就有点多余。多余是一回事,经常性出现编译一次项目后,整个项目所在磁盘就疯狂读写,IO保持100%毫不松动,咱个机械硬盘哪受得了,卡是正常的,有时还会连带整个系统进入假死,这就真不能忍了,必须搞残! 关闭VS2013自带git插件方法: 菜单栏 工具--选项--源代码管理--插件选择--右侧 当前源代码管理插件--
QVector、Qlist、QlinkedList 类 用法比较: 1. QVector 是提供动态数组的一个模板类。 QList 是提供列表的一个模板类。 QLinkedList 是提供链表的一个模板类。 2. QVector<T> 是QT的一个通用容器类,它在相邻的内存位置中存储item
QInputDialog类提供了一种简单方面的对话框来获得用户的单个输入信息,可以是一个字符串,一个Int类型数据,一个double类型数据或是一个下拉列表框的条目。 对应的Dialog其中包括一个提示标签,一个输入控件(若是调用字符串输入框,则为一个QLineEdit,若是调用Int类型或double类型,则为一个QSpinBox,若是调用列表条目输入框,则为一个QComboBox),
cmake语法不仅仅可以适用于 CMakeLists.txt,也适用于 xxx.cmake 文档。 在 OpenCV 的 CMakeLists.txt 中,很多 ocv_XXX() 的函数,都是定义在相应的 xxx.cmake 中。 比如:L116 1 2 3 4 5 6 7 8 9 10 include(cmake/OpenCVUtils.cmake) # must go
对于我来说,我使用的是cmake 3.5,但below(set variable)不起作用: set( ARCHIVE_OUTPUT_DIRECTORY "/home/xy/cmake_practice/lib/" LIBRARY_OUTPUT_DIRECTORY "/home/xy/cmake_practice/lib/" RUNTIME_OUTPUT_D
CMake 常用宏分享 介绍 在本人多年的CMake使用过程中,有两个自定义宏被广泛且频繁使用。分别是: 1. GROUP_FILES 根据项目目录结构,分组显示c++文件,实现目录结构与项目结构的对应。 # MACRO GROUP_FILES MACRO(GROUP_FILES src_files root_path) SET(cur_dir ${root_path})
cmake函数function和宏定义macro在某种程度上来说是一样的,都是创建一段有名字的代码稍后可以调用,还可以传参数。 他们的定义如下: macro定义: macro(<name> [arg1 [arg2 [arg3 ...]]]) ... endmacro([name]) function定义: function(<name> [arg1 [arg2
一个模型可以为多个视图所使用。在下面的代码中,我们创建两个表视图,使用的均是创建好的同一个模型。
Qt MetaObject 详解
细心的读者会注意到表2.2中的数值的位序有Little和big的区别,对于位序是big的数据我们在读取时要小心。通常,数据的位序都是Little,但在有些情况下可能会是big,二者的区别在于它们位序的顺序相反。一个位序为big的数据,如果我们想得到它的真实数值,需要将它的位序转换成Little即可
git仓库迁移的两种解决方案
原文首发于微信公众号:jzman-blog,欢迎关注交流!MaterialDesign系列文章:MaterialDesign组件之FloatingActionButtonMaterialDesign组件之AppBarLayoutMaterialDesign组件之CollapsingToolbarLayout今天来看一下NavigationView的使用,NavigationView是一个标准的导航
原文首发于微信公众号:jzman-blog,欢迎关注交流!CollapsingToolbarLayout主要用于实现一个可折叠的标题栏,一般作为AppBarLayout的子View来使用,下面总结一下CollapsingToolbarLayout的使用。MaterialDesign系列文章:MaterialDesign组件之FloatingActionButtonMaterialDesign组件之
原文首发于微信公众号:jzman-blog,欢迎关注交流!AppBarLayout是一个垂直方向的LinearLayout,它实现了许多符合MaterialDesign设计规范的状态栏应该具有的功能,比如滚动手势。AppBarLayout一般直接用作CoordinatorLayout的直接子对象,如果AppBarLayout在别的布局中使用,其大部分功能会失效,AppBarLayout需要一个标示
原文首发于微信公众号:躬行之(jzman-blog)MaterialDesign设计规范在GoogleI/O2014推出,这种设计理念一经推出就受到广大开发者的喜爱,主要侧重于纸墨化创作和突出设计的实体感,使得设计更接近于真实世界,力求平滑、连续的交互方式与用户体验,这种设计规范更能促进Android生态系统的发展,为此,Google提供了一系列的符合MaterialDesign风格的控件,如Fl
原文首发于微信公众号:jzman-blog,欢迎关注交流!本来打算温习一下注解方面的内容作为今天的推送,但是来不及写了,那就一起来看一下数组,数组是用来存放一组具有相同类型数据的数据结构,通过下标来访问数组中的元素。数组的定义数组的定义主要有两种,一种是先指定数组的大小,然后根据数组元素下标进行赋值,另一种是直接创建一个数组并进行赋值,具体如下://1.定义大小为10的数组int[]arrayA=
原文首发于微信公众号:jzman-blog,欢迎关注交流!最近补一下设计模式相关的知识,关于观察者设计模式主要从以下几个方面来学习,具体如下:什么是观察者设计模式关键概念理解通知观察者的方式观察者模式的实现观察者模式的优缺点使用场景下面来一张本节内容的思维导图,具体如下:什么是观察者设计模式观察者模式(Observer)是软件设计模式的一种,定义了对象之间一种一对多的关系,也就是当一个对象数据发生
原文首发于微信公众号:jzman-blog上篇文章中主要介绍从AIDL的使用方式以及Android开发中不同进程之间的通信,遗留的问题是如何在AIDL中使用自定义类型,具体步骤如下:创建自定义类型声明自定义类型定义与自定义类型相关的业务重写业务实体类远程调用验证AIDL1.创建自定义类型自定义类型传输的就是一个实体对象,这个实体类必须实现Parcelable接口,具体如下://自定义类型publi
原文首发于微信公众号:jzman-blog,欢迎关注交流!DBFlow是一个基于注解处理器开发的使用方便的ORMAndroid数据库,该库简化了很多多余的代码,并且提供了好用的API来处理与数据库的交互,让开发者专注App的开发。下面将从以下几个方面来学习DBFlow数据库框架的使用,具体如下:DBFlow的优势配置DBFlow创建数据库创建表插入数据删除数据更新数据查询数据案例DBFlow的优势
原文首发于微信公众号:jzman-blog,欢迎关注交流!AIDL(Android接口定义语言),可以使用它定义客户端与服务端进程间通信(IPC)的编程接口,在Android中,进程之间无法共享内存(用户空间),不同进程之间的通信一般使用AIDL来处理。主要流程就是在.aidl文件中定义AIDL接口,并将其添加到应用工程的src目录下,创建完成之后rebuild,AndroidSDK工具会自动生成
RecyclerView的拖动排序需要借助一下ItemTouchHelper这个类,ItemTouchHelper类是Google提供的一个支持RecyclerView滑动和拖动的一个使用类,下面使用该类实现RecyclerView的滑动删除和拖动排序功能。阅读文本之前可以先阅读如下文章:RecyclerView的简单使用RecyclerView的Item的单击事件RecyclerView的刷新分
在开发中常常使用到刷新分页,这里实现一个RecyclerView的简单的刷新分页操作,测试效果见文末,实现过程参考如下:实现思路加载更多数据使用到RecyclerView加载多种布局,根据ViewType判断加载数据Item还是加载FooterItem;通过线程模拟加载数据;为RecyclerView添加addOnScrollListener事件来监听用户的滑动操作;根据用户滑动状态以及具体情况开
RecyclerView的每个Item的点击事件并没有像ListView一样封装在组件中,需要Item的单击事件时就需要自己去实现,在Adapter中为RecyclerView添加单击事件参考如下:RecyclerView的使用方法请参考:RecyclerView的简单使用第一步:在RecyclerView的Adapyer中定义单击事件的回调接口:/***定义RecyclerView选项单击事件的
自从Android5.0之后,google推出了一个RecyclerView控件,他是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,RecyclerView相当于是ListView的升级版。RecyclerView封装了ViewHolder的回收复用,也就是说RecyclerView标准化了ViewHolder,编写Adapt
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号