
Kotlin
文章平均质量分 74
墨汁霜
这个作者很懒,什么都没留下…
展开
-
Kotlin抽奖App(含具体代码)
简易的抽奖App点击Start开始抽奖,之后点击stop停止具体代码 Kotlin代码package com.mingrisoft.myapplicationimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport kotlinx.android.synthetic.main.activity_main.*import java.util.*原创 2021-03-05 18:56:21 · 479 阅读 · 0 评论 -
Android项目通过Github管理/分享步骤
使⽤GitHub管理/分享代码GitHub是什么,有什么⽤?⾯向GitHub开发 功能模块都不是⾃⼰写的 在GitHub上找的 功能实现了 怎么实现的就蒙蔽了,三个使用目的。代码托管开源项⽬个⼈主⻚GitHub 是⼀个⾯向开源及私有软件项⽬的托管平台,因为只⽀持 Git 作为唯⼀的版本库格式进⾏托管,故名 GitHub。我们使⽤Github主要有两种情况:1.需要查找开源代码 2.管理⾃⼰的代码原理图分为了两个仓库,一个本地的仓库/AndroidStudio,一个远程仓库/Github原创 2021-03-05 10:29:37 · 360 阅读 · 1 评论 -
kotlin基础 可见修饰词和扩展以及数据类(五)
可见修饰词当在包中时– 如果没有指明任何可见性修饰词,默认使用 public ,这意味着你的声明在任何地方都可见;– 如果你声明为 private ,则只在包含声明的文件中可见;– 如果用 internal 声明,则在同一模块中的任何地方可见;– protected 在 “top-level” 中不可以使用当在类中声明成员时:private 只在该类(以及它的成员)中可见protected 和 private 一样但在子类中也可见internal 在本模块的所有可以访问到声明区域的均可以访原创 2021-03-02 16:51:46 · 202 阅读 · 0 评论 -
Kotlin基础 属性和接口(四)
属性和字段属性声明可以使用 var 关键字声明可变属性,或者用 val 关键字声明只读属性Getters 和 Setters声明一个属性的完整语法如下:var <propertyName>: <PropertyType> [ = <property_initializer> ] <getter> <setter>只读属性的声明语法和可变属性的声明语法相比有两点不同:它以 val 而不是 var 开头不允许 sett原创 2021-03-02 11:40:50 · 207 阅读 · 0 评论 -
Kotlin基础 类:构造函数 继承 抽象类(三)
类在 Kotlin 中类用 class 时:class Invoice {}类的声明包含类名,类头(指定类型参数,主构造函数等等),以及类主体,用大括号包裹。类头和类体是可选的;如果没有类体可以省略大括号。class Empty构造函数在 Kotlin 中类可以有一个主构造函数以及多个二级构造函数。主构造函数是类头的一部分:跟在类名后面(可以有可选的类型参数)。class Person constructor(firstName: String) {}如果主构造函数没有注解或可见性说原创 2021-03-02 11:10:58 · 470 阅读 · 0 评论 -
kotlin的基础 包和循环/控制流(二)
第一篇(基本数据类型)的链接https://blog.youkuaiyun.com/weixin_44614751/article/details/114270668包默认导入导入需要的imports可以导入一个单独的名字或者范围内的所有可用的内容 (包,类,对象,等等):如果命名有冲突,我们可以使用 as 关键字局部重命名解决冲突import关键字不局限于导入类;您也可以使用它来导入其他声明:控制流if 表达式在 Kotlin 中,if 是带有返回值的表达式。val max = if (a原创 2021-03-01 21:14:30 · 101 阅读 · 0 评论 -
Kotlin基础 数据类型(一)
对象:对象其实就是一种封装的概念,它把事物封装成一个类,然后提供类的接口,而具体的过程人们是看不到的。变量:以关键字开始,接变量名,最后可加类型:val(来自value)——不可变引用。相当于final。var(来自variable)——可变引用。相当于非final。类(默认public)class Person(val name: String)属性(成员变量)class Person {val name: Stringvar isMarried: Boolean}函数(方法)fu原创 2021-03-01 20:18:53 · 154 阅读 · 0 评论 -
Android kotlin的ViewGroup的三种布局总结篇(流式布局添加大小不同的View)
**ViewGroup的三种布局总结篇**一、三大布局测量步骤父容器尺寸确定,子控件尺寸不确定需要根据父容器的尺寸确定子控件的尺寸#onMeasure中获取父容器的尺寸,,获取限制measurespec#计算子控件的尺寸#侯建MeasureSpec对象,用于测量子空间时限制子控件#使用measure方法测量子控件#onLayout中调用视图的额layout方法布局子控件父容器尺寸不确定,子控件尺寸确定需要根据子控件的尺寸确定父容器的尺寸#onMeasure中先测量父容器,获原创 2020-10-31 16:19:10 · 640 阅读 · 0 评论 -
Android Kotlin自定义ViewGroup三
第三种自定义ViewGroup布局父容器的大小不确定,子控件的大小不确定1.获取子控件,由于此时子控件大小不确定,xml配置的可能是At_most 或者Exactly,要考虑设置padding,因此子控件设置测量结果模仿measureChildWithMargins(),使用下面方法。 //获取子控件 val child = getChildAt(0) val lp = child.layoutParams val widthSpec =原创 2020-10-25 12:09:55 · 470 阅读 · 0 评论 -
Android Kotlin自定义ViewGroup 二
第二种自定义ViewGroup布局父容器的大小不确定,子控件的大小确定思路分析:1.获取每一个子控件,并且设置测量结果//测量子控件 measureChild(child, widthMeasureSpec, heightMeasureSpec)2.开始确定父容器的尺寸,通过计算子控件的规则,确定rWidth和rHeightvar rWidth = 0var rHeight = 03.设置父容器测量结果setMeasuredDimension(rWidth,rH原创 2020-10-25 11:44:46 · 328 阅读 · 1 评论 -
Android Kotlin自定义ViewGroup 一
第一种自定义ViewGroup布局父容器的大小确定,子控件的大小不确定思路分析:1.父容器大小确定,因此设置父容器的尺寸,帮助后来确定子控件的大小super.onMeasure(widthMeasureSpec, heightMeasureSpec)2.上一步之后,可以获取父容器的尺寸3.按照规则,计算子控件的尺寸4.设置子控件的模式5.尺寸 模式确定之后,封装成MeasureSpec6.最后设置子控件child.measure(wMeasureS,hMeasureS)7.子控件的原创 2020-10-24 10:06:48 · 723 阅读 · 0 评论 -
Kotln自定义动画View练习,小球跳动
AndroidStudio自定义动画练习二1.动画效果三个小球跳动2.主体分析思路拆分为多个部分寻找关系每个部分的绘制寻找动画因子创建动画。。。。。。。。。。。。。。。拆分为多个部分:三个小球寻找关系:每个部分的绘制:使用onDraw Paint画笔 canvas画布 canvas.drawCircle 画圆寻找动画因子:在整个过程中,改变的都是小球的半径使用scale与radius相乘,来控制小球的缩放创建动画:创建了三个动画,第一个动画时,scales原创 2020-09-21 11:31:36 · 234 阅读 · 0 评论 -
kotlin自定义动画View的练习
AnroidStudio中使用kotlin语言的自定义动画第一个练习,后面还会更新第二练习1.动画效果:开始点击start后,小球开始进入大球的嘴里,点击stop后,停止动画(还不知道哪个软件录制gif好,下去再搜, 现在只能口述了)2.主题思路分析:/*拆分为多个部分寻找关系每个部分的绘制寻找动画因子创建动画*/详细:拆分为多个部分: 嘴巴和小球寻找关系:大小 间距 位置,可以根据自己的要求设置每个部分的绘制:onDraw方法画笔paint 画布 canva原创 2020-09-21 10:00:58 · 493 阅读 · 1 评论