8 kanxue1.0

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 16w+

Android 开发之路 ----------- 软键盘隐藏与弹出

/** * 隐藏软键盘 * @param context */public void hideInputWindow(Activity context){ if(context==null){ return; }//判断软键盘是否开启 final View v = ((Activity) context).getWindow().peekDecorView(); if (v != null && v.getWindowToken().

2020-08-04 15:55:59

Android 开发之路——databinding 自定义view xml属性使用解决类符号找不到问题

在databinding使用中有时候会用到自定义view的一些属性比如 不需要在每次adapter中用Glide代码来加载图片,可以直接在绑定src图片地址之后自动的去加载图片那么就要用databinding自定义属性了千万不要忘记加上@BindingAdapter("定义的属性名称")这个注解要放在一个静态方法中 这个方法是实现自定义属性的方法,并且这个方法写在那个文件都不重要,重要的就是这个注解图片:上面是我根据圆角图片库自定义的databinding属性 imgpath在方法里实.

2020-06-30 19:34:41

Android开发之路-------遍历相册

某些场景下第三方的相册UI并不符合我们预期的要求所以我们必须自己遍历相册开发出相应的功能以及UI1.首先要取得相应的权限: <!-- 读取权限相册 拍照 --> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> &

2020-06-02 20:13:07

Android开发之路------Glide图片加载框架的基本使用

1.Gilde加载动画(仅淡入淡出fade) Glide.with(mContext) .load(Uri.parse(rb.getThumb())) .transition(DrawableTransitionOptions.withCrossFade(100))//淡入淡出100m .into(holder.imageView);2.Gilde获取图片的Bitmap方式 两种:①. Gl.

2020-06-02 20:01:15

Android开发之路-------图片旋转自适应

这种情况下的旋转适应大小其实主要就是对图片的bitmap内部进行修改 有用到矩阵类 MatrixMatrix中有一个方法postRotate此方法传入一个int类型的数值 表示旋转的角度deg代码://创建矩阵类Martix martix = new Martix();//旋转90度martix.postRotate(90)//oldBitmap 原始图片的bitmap 返回一个新的已经旋转90的bitmapBitmap newBitmap = Bitmap.createBitm..

2020-06-02 19:50:15

Android开发之路--1

1.Android 9之后 网络请求需要加载适配文件:network_security_config.xml:<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" />

2020-05-21 12:57:46

Windows程序设计 画刷使用和创建

填充绘制的封闭的绘制的图形需要用到画刷winAPI自带画刷创建:HBRUSH hBrush;HDC hdc;hdc = GetDC(hwnd);hBrush = (HBRUSH)GetStockObject(GRAY_BRUSH); //表示获取系统灰色画刷SelectObject(hdc,hBrush);Rectangle(hdc,100,100,300,300);//绘制一...

2018-10-17 12:36:46

学习C++ primer 之路 - ( 第十七章 输入、输出和文件 之 cout)

说到输入输出,应该不会感到陌生,因为一开始学习的hello world 就是用的C++标准输入输出简单来说头文件<iostream>是必不可少的(这是标准的输入输出头文件)名称空间std下的cout输出指令函数例#include <iostream>int main (){ using std::cout; cout << "H...

2018-09-25 19:06:06

C++ algorithm头文件中transform用法

transform函数可以将指定的源目标复制到新目标中transform有两个版本:第一种(参数):源目标起始迭代器地址 源目标结束迭代器地址 输出迭代器地址 自定义函数符(一元函数) transform(v1.begin(),v1.end(),v2.begin(),add); //将v1 复制到v2同时先执行add方法 将其改变后放入v2容器中int add1(in...

2018-09-19 16:20:03

C++valarray中的slice类

slice类对象可以用作数组索引,在这种情况下他表示的不是一个值而是一组值。slice对象呗初始化为三个整数值:起始索引 索引数 跨距数起始索引:表示第一个被选中的元素的下标也就是索引 索引数:表示一共要几个元素(这个要考虑到数组大小而定) 跨距:表示元素之间的间隔多少 例如:有一组数据是:1,2,3,4,5,6,7,8,9,10slice(,0,4,...

2018-09-19 15:22:13

学习C++ primer 之路 - ( 第十六章 之 函数对象)

函数符的概念:生成器是不用参数就可以调用的函数符 一元函数是用一个参数可以调用的函数符 二院函数使用两个参数可以调用的函数符 返回bool值的一元函数符是谓词 返回bool值的二元函数符是二元谓词 使用bind1st或者bind2nd函数来将一个两个的参数转化为一个单个参数函数符 1.transform()的使用 #include <iostream>#i...

2018-09-18 13:45:57

学习C++ primer 之路 - ( 第十六章 之 STL模板之list)

llist模板类在list头文件中声明,表示双向链表类,除了第一个和最后一个之外,其余中间的每个元素都与前后两个元素相链接,list无法数组表示法和支持随机访问。list强调的是元素的快速插入和删除,可利用率是最好的也是序列最快的但是排序比较慢。如:int arr[5] = {1,2,,3,4,5};list<int>a(arr,arr + 5);a[0]; /...

2018-09-17 11:41:18

学习C++ primer 之路 - ( 第十六章 之 STL模板之容器的种类)

一、STL容器种类STL具有容器的概念和容器类型的。其中具有名称(如容器,序列容器和关联容器等等)的通用类别容器类型。C++11之前公有11个类型的容器,分别为:deque、list、priority_queue、stack、vector、map、multimap、set、multiset和bitsetC++11之后新增加了forword_list(单向链表容器)、unordered_...

2018-09-17 11:27:45

C++学习之路 STL关联容器之mulit(可重复容器)

1.multiset头文件include <set> std命名空间中结构图:此结构key就是value,value就是key,不分key和value 它们两个是一起的。 可以有重复数据.(结构基于红黑树(对称二叉b树)自动调整结构的平衡)函数:1.insert(元素)将一个元素或元素范围插入到多重集合中。 该函数有多种重载,请查阅官方文档2.fin...

2018-09-14 14:25:06

学习C++ primer 之路 - ( 第十六章 之 STL模板之顺序容器)

STL多种容器以及结构1.Array(顺序容器)结构图:长度大小是规定死的,无法动态扩充空间定义:#include <array>array<double,10>ary = {1,2,3,4,5,6,7,8,9,10}; //必须有第二个参数,要指定有多大函数:1.get这是一个全局的函数并不是array模板所持有的get(元素...

2018-09-14 10:15:48

学习C++ primer 之路 - ( 第十六章 之 STL模板之vector)

一、定义vector模板vector<type>name(num)  //num表示定义的初始长度 type表示类型 是一个容器,必须引入头文件 #include<vector>vector是一个顺序容器,它的内存地址是连续的。 二、迭代器什么是迭代器?它是一个广义指针,事实上,他可以是指针,也可以是一个对其执行类似指针的操作——如解引用(*)如)(...

2018-09-13 08:39:57

学习C++ primer 之路 - ( 第十六章 之 智能指针)

先来看一个例子:void remodel(std::string & str){ std::string * px = new std::string(str); ... str = ps; return;}你是不是似乎发现了什么呢?(手动滑稽)没错,这个函数在返回时没有delete释放动态创建的内存。这种情况下大概是“忘记了“吧。那么 再看这...

2018-09-11 19:52:59

学习C++ primer 之路 - ( 第十六章 之String类)

一、String类说明String类是位于头文件string或者string.h中,String极大的简化了C风格字符串的操作与声明,里面封装集合了多种多样的操作字符串的接口,里面还有许多构造函数,可以接受多种参数来不同的对待,而且还重载了四个基本运算符(+ - * /)。二、string构造函数及其运算符重载String 类的构造函数 构造函数 描述 string(con...

2018-09-10 18:31:54

C++ 开发贪吃蛇游戏总结

一、思考贪吃蛇的思路:1.在一个窗口绘制贪吃蛇,肯定少不了绘制的API,所以必不可少需要引入graphics.h这个图形界面库(里面封装了WIN 32大部分绘制API,如果没有的话,可以用GDI)。2.贪吃蛇吃掉食物就会增长一点,可以把它看成是一节一节的。3.蛇要移动,肯定会有坐标的变化。4.既然蛇会移动,那么蛇吃掉食物的时候食物当然也是随机变化的,所以食物也有坐标。5.蛇的碰...

2018-09-09 21:15:50

学习C++ primer 之路 - ( 第十五章之 异常扩展1 RTTI)

一、什么是RTTIRTTI是运行阶段类型识别的简称。C++中RTTI主要有三个元素:名称 作用 例子 typeid 主要检测运行阶段的数据对象的类型,它可以接受两种类型参数: { 1:类名 2:结果为对象的表达式 } 返回一个type_info类的引用 ...常用的方法有一个name()此方法返回 一...

2018-09-07 17:33:54

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。