自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 FloatingActionButton图标颜色更改不了

FloatingActionButton图标颜色更改不了 使用`android:tint="@color/app_green"` 更改不了颜色,查了一下说是`Theme.MaterialComponents.DayNight.NoActionBar` 主题不能改变`FloatingActionButton`的图标颜色,经查验在style 中增加```<item name="colorOnSecondary">@color/white</item>```就可以了...

2021-09-10 16:44:08 646

原创 MPAndroidChart BarChart 圆角

barChart.apply { renderer = RoundBarChartRenderer(this, animator, viewPortHandler)}其中RoundBarChartRenderer 为自定义的Renderer 继承BarChartRenderer复制BarChartRenderer 代码 copy到你的Renderer中protected void drawDataSet(Canvas c, IBarDataSet dataSet, in...

2021-07-21 14:58:46 1143

原创 Android中applicationId 和packageName 的区别

manifest文件中packageName 作为应用的唯一标识。以及在R资源类中作为包名。在gradle中的applicationId覆盖了packageName 可以在使用varians时配置不同的applicationId来构建不同的应用。

2020-06-15 16:36:20 442

原创 kotlinx.coroutines 使用

协程是轻量级的线程。fun main(args: Array<String>) { GlobalScope.launch { delay(1000L) print("Coroutines") } print("Hello, ") Thread.sleep(2000L)}//输出Hello, Coroutines这里我们用到...

2019-05-22 10:50:16 1854 1

原创 Kotlin by 关键字详解

委托模式已已经证明是实现继承的一个很好的替代方式Kotlin 中 by 就是用于实现委托的。fun main(args: Array<String>) { val b =BaseImpl("base") Derived(b).print()}interface Base{ fun print()}class BaseImpl(val x :...

2019-05-16 15:01:53 8096

原创 依赖注入框架Koin详解

Koin框架,适用于使用Kotlin开发 ,是一款轻量级的依赖注入框架,无代理,无代码生成,无反射。相对于dagger 而言更加适合Kotlin语言。官方网站GitHubApplication DSL koinApplication { } 用于创建KoinApplocation的实例配置 startKoin { } startKoin { ...

2019-05-14 14:02:33 8334

原创 《ECMAScript 6 入门》笔记(5) 数值的扩展

ES6提供了新的二进制和八进制的写法 二进制使用0b开头(0B)八进制使用0o(0O)Number('0b111')//7Number('0o10')//8想要将其他进制的字符串转换为1十进制数值的话使用Number()方法Number.isFinite(15)//trueNumber.isFinite(0.8); // trueNumber.isFinite(NaN); ...

2019-04-28 14:23:49 91

原创 Android Navigation 初识

2018年Google I/O大会中推出的一个新的架构组件。在此之前我使用过类似这种单Fragment构建App的框架,Zhuinden/simple-stack,但是官方出手,最为致命,本着不得不学的态度,我有必要去学习和使用它。Google git 项目地址官方文档首先我们需要导入lib implementation "androidx.navigation:nav...

2019-04-25 09:40:12 303

原创 《ECMAScript 6 入门》笔记(4) 字符串的新增方法

ES6中字符串新增的方法String.fromCodePoint()可以识别大于0xFFFF的字符,可以传入多个参数,会被合并为一个字符串String.raw()用于转义字符串,即\后会再加一个\如果原字符串已经被转义了,使用该方法还会再转义一次,该方法往往用于模板字符串的处理String.raw({ raw: 'test' }, 0, 1, 2);该方法也可以作为正常函...

2019-04-24 10:38:36 96

原创 《ECMAScript 6 入门》笔记(3) 字符串的扩展

字符的 Unicode 表示法"\u0061"// "a"ES6加强了对Unicode的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的Unicode码点"\uD842\uDFB7"// "

2019-04-23 17:09:06 117

原创 《ECMAScript 6 入门》笔记 变量的解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。eg.let [a, b, c] = [1, 2, 3];a//1b//2c//3let [a] = [1,2,3];a//1let [a,b] =[1];a//1b//undefinedlet {a} = {a:1,b:2,c:3}a//1...

2019-04-23 15:11:02 71

原创 《ECMAScript 6 入门》笔记 let 和 const 命令

letlet 声明的变量只在他声明的代码块中有效,用法类似于var当代码块中存在与全局变量相同变量名的变量,在改代码块中声明let 变量之前使用改变量名的全局变量会报错,这在语法上称之为“暂时性死区”(temporal dead zone,简称 TDZ)TDZ也意味着 typeof 不再是一个百分之百安全的操作。let 不允许在同一作用域下声明两个相同变量名的变量cons...

2019-04-22 17:02:17 102

原创 《ECMAScript 6 入门》笔记(1)简介

介绍了ECMAScript与JavaScript的关系:前者是后者的规格,后者是前者的一种实现ES6和ES5的关系:ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES201...

2019-04-22 11:28:10 205

原创 Dart学习笔记(2) 函数

在Dart里函数也是一个对象,函数的定义格式为:返回值 方法名(参数){方法体}当返回值没有的时候 默认返回null所以 也可以不声明返回值eg.fun(){ return 1;}当这个函数只是一个简单的返回,也可以使用=>eg.fun() => 1;...

2019-04-19 17:03:54 106

原创 Dart学习笔记(1)数据类型

18年google推出了flutter框架,该框架所使用的编程语言是Dart.推荐使用WebStorm.DartSDKDart 所有的类都集成自Object 并且默认值是null数据类型:Numbers String Booleans List (和java不一样的是没有array和List的区别) Maps声明变量var final constf...

2019-04-18 17:03:03 91

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除