准备新开一个专栏,介绍android stdio的学习。源内容是哔站两个视频,这里边学习做个总结,方便复习。顺序是先看第二个,再看第一个。
1、android stdio软件安装
这里主要介绍注意的地方:要确保自己的电脑有java的运行环境,即是否装了jdk(java开发者工具包,它包含了运行环境,jvm,javac编译工具,类库等),就相当于你装pycharm需要先装python。具体方法网上很多。
其次,在android stdio软件安装选custom自定义,不然有的东西只能装在C盘,第一次启动会加载grandle,最好连手机热点,不然可能很久装不上,国外的网站。
我安装的过程很顺利,没出现什么错误。
在安装模拟器的时候,出现Could not automatically detect an ADB binary.
解决办法是打开模拟器工具栏三个点–settings 右边use detected ADB location把它切换到sdk中platform-tools下面的adb.exe文件。
2.认识目录结构
manifests是放配置文件的,每写一个activity就会自动在这里面形成一个配置,不用自己写。哪个activity是主函数,只需要在配置的时候加上intent-filter.
。Java放源文件,res放资源文件。其中mainacticity就是放所有逇源代码,比如加一个类啥的。
drawaple放图片,laylout放布局资源,mipmap放图标,values放常量(颜色,字符串,风格)。
(如果要看文件在硬盘的位置,切换成project目录模式就行。
2、gradle
是编译工具,导入项目出错经常就是这里的问题。不详细说
这里就是主要的代码,一开始就有。这里的mainactivity其实只是一个普通的java类,后面继承了一个类,就是让这个类有窗口特性。
oncreate方法来源于父类,这相当于Main函数,是程序的入口,函数的初始化定义等就会写在这个方法中。
setcontentview就是设置内容视图。需要传一个参数。其中R的意思就是把一个资源文件转换成一个id ,用一个索引。
布局文件如上,控制布局。
之所以我们用R函数,把布局写在xml中,而不是直接给setcontentview传一个布局,这就是解耦的思想,activity中只写控制逻辑,xml中写布局,后期容易维护。
布局种类
布局有很多种,比如线性,相对,网格布局,约束布局(非常好用)等。我们下面先学简单的线性布局。
线性布局
添加布局,在layout下新建一个布局文件。并将根布局改成linearlayout
这里面可以看到初始化了布局的基本属性。布局的宽高。这里是和容器等宽等高。如果改成具体数字,200dp。右边的就会自动缩小到一半,很直观。还有一种是改成wrap-content一般是在textview中设置包裹字体大小的宽高。
还有就是布局的marjin 边距,分成外边距内边距。很好理解的。
接下来还有几个重要的属性。oriention(方向) layout_weight权重 layout_gravity重力。
oriention(方向) 控制是从上到下的线性布局还是从左到右的,比如加两个hello,他们是从上往下的还是从左到右。
权重 :设置比例。即不同text的比例。比如在一个布局中,设置其中一个控件weight为1,其他不设置weight,那么这个就会自动占满剩余的地方;第二是所有控件都设置weight,数字代表比例
重力就是控制控件放在中间还是上面还是底部(水平布局)
这是我利用线性布局做的一个聊天框界面。比如最下面这个聊天框
三个部分weight比例为0.5 0.5 2 0.5
下一次介绍相对布局。