andirons学校笔记(连载中)

安卓体系

应用层Applications
框架层面APPlication Framewoork

hello项目

  1. 包名是标识APP的,必须是唯一的,且一般是公司的域名反向。即com.公司名.项目名

  2. Empty Activity 是保证项目本身没有附带多余的控件,初学者使用!

  3. use legacy android.support libraries: Android 高版本的包是 androidx,低版本的是Android,如果你需要使用低版本的Android来编程,则可以勾选这个选项。

  4. AndroidManifest.xml 清单文件、配置文件同时也是布局文件

    清单文件,四大组件的注册以及权限的授予都在这里

    intent-filter :意图过滤器的作用有:指派那个Activity为启动界面,在广播、服务等组件通信过程中进行过滤

    新建项目的步骤:建立多个 package(activity(界面)、bean(用户类)、utils(工具)等等),将资源文件复制粘贴到相关的文件夹里面,最后开始编码。

  5. File - Settings

    Appearabce:Android设置外观,可以选择亮色调或者暗色调主题。

    Editor- Font:设置编辑器文字大小。

    Plugis:可以加载相关的jar包,是的所有的项目可以直接使用。

  6. res - values

    根据css样式,我们应该将控件的相同属性定义成一个样式,保存在styles.xml中,将项目中常用的颜色定义在colors.xml中,将项目中常用的文本内容定义在string.xml中。

线性布局

​ LinearLayout 线性布局 双标签

如果控件和用户进行交互就一定要有id ,

五种 常用的布局

线性布局:以水平或垂直方向排列

相对布局 :通过相对定位排列

帧布局: 开辟空白区域,帧里的控件(层)叠加

表格布局:表格形式排列 允许跨列 ,不允许跨行

约束布局:可视化的方式编写布局

网格布局: 允许跨列 ,允许跨行

线性布局

注释

根标签的线性布局允许省略排列方向,默认为水平排列

按照排列方向依次放置控件

Button,Edittext 强制添加id属性

id的命名规则为:控件缩写_实现功能

首先设定控件的布局属性,在设定控件的自身属性

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<Button
android:id="@+id/btn_one"
android:layout_width="width"
android:id=layout_height=""
android:text="按钮2"/>


当控件使用权重属性时。布局宽度一定要设置为0dp


1
2
3
<!-- 在相对布局中.首先放置的控件一般为直接相对父布局进行定位的空间-->
<!-- 定位控件时,一般需要指定x和y两个方向的定位-->

Day03

1.LinearLayout 线性布局

以水平或垂直来排列内部控件,不考虑控件间的相互定位。
允许在水平和垂直位置上进行权重的设定、

2.RelativeLayout 相对布局

根据控件与父布局的相对定位或者控件与控件的相对定位来摆放 控件
在整个布局中,优先定位直接根据父布局定位的控件,再去放置 其他控件
1
2
3
4
5
6
7
8
9
		根据父布局定位,则有左、右、上、下

​ android:layout_alignParentLeft

​ android:layout_alignParentRight

android:layout_alignParentTop

android:layout_alignParentBootom
1
中心位置:android:layout_centerInparent
1
2
3
4
5
6
7
8
9
		根据其他控件定位,则有在什么的左边、右边、上面、下面、

​ android:layout_toLeftOf

​ android:layout_toRightOf

​ android:layout_above

​ android:layout_below
1
2
3
4
5
6
		以及左右、上下对齐

​ android:layout_alignLeft
​ android:layout_alignRight
​ android:layout_alignTop
​ android:layout_alignBottom
1
强制横屏  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
1
2
按钮背景透明  Button_ android:background:"@null";
强制最少宽度 minwidth =“200dp“;
相对布局的缺点是不可以进行权重的设定,因此它不能够完美的替换其他布局,为零弥补这个缺点,发明了约束布局,允许通过设定百分比来完美地替换其他布局
在相对布局中没有android:layout_gravity属性,因为相对布局本身进行通过定位来实现的

3、FrameLayout 帧布局

① 每一个控件代表一帧,后放置的控件默认会遮挡住前面的控件
② 默认控件是占据整个屏幕的

4、TableLayout 表格布局

① 多行多列,每个单元格放置一个控件
② 在行上可以实现权重的设定
③ 在行上可以执行单元格的合并;在列上不可以,因为每一行必须被TableRow所包裹

5、GridLayout 网格布局

① 多行多列,且存在跨行及跨列合并单元格的情况
② 在行上以及列上均可以实现权重的设定,这样就能够实现全屏设定
③ 在行上、列上都可以执行单元格的合并;因为网格布局没有TableRow,是通过android:layout_column、android:layout_row来直接设定行和列,或者直接通过android:layout_columnCount、android:layout_rowCount设定总的行数和列数以后,系统根据放置顺序直接识别行和列

版权声明: 本网站所有文章除特别声明外,著作权归作者所有。转载请注明出处!

-------- 本文结束 感谢阅读 --------