1、 Android开发环境
(1)目录结构
(2)java:主要为源代码和测试代码
(3 res:主要是资源目录,存储所有的项目资源
(4) drawable:存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕。
(5) -mdpi:320x480
(6) -hdpi:480x800、480x854
(7) -xhdpi:至少960x720
(8) -xxhdpi:1280x720
(9) layout:存储布局文件
(10) mipmap:存储原声图片资源
(11) values:存储app引用的一些值
(12) - colors.xml: 存储了一些color的样式
(13) - dimens.xml:存储了一些公用的dp值
(14) - strings.xml: 存储了引用的string值
(15) - styles.xml: 存储了app需要用到的一些样式
(16) Gradle Scripts:build.gradle为项目的gradle配置文件
(17) 常用快捷键:
(18) 自动导入包settings-->editor-->general-->autoimport
(19) 代码提示:ctrl+alt+space 相当于eclipse1 alt+/
(20) 格式化代码:ctrl+alt+l
(21) 六大布局方式:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout(淘汰)、网格布局GridLayout
1、线性布局:具有垂直(vertical)、水平(horizontal)默认,布局控件不够控件挤压变形,不会下移.
android:orientation”控制方向
2、内部控件对体方式:android:gravity 常用属性:center、center_vertical、center_horizontal、top、bottom、left、righ
在RelativeLayout、TableLayout中也有使用,FrameLayout、AbsoluteLayout则没有这个属性
与android:layout_gravity区分开,layout_gravity是用来设置自身相对于父元素的布局。
3、android:layout_weight:权重,用来分配当前控件在剩余空间的大小。使用权重一般要把分配该权重方向的长度设置为零,比如在水平方向分配权重,就把width设置为零。
4、 android:layout_width="match_parent"代表同父元素宽度
android:layout_height="wrap_content" 高度以包裹内容为主
5、 相当布局RelativeLayout
相对于父控件:android:layout_alignParentTop=“true” 控件的顶部与父控件的顶部对齐;
相对给定Id控件:android:layout_above=“@id/**” 控件的底部置于给定ID的控件之上 (同级元素)
android:layout_below 控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 控件的右边缘与给定ID的右边缘对齐;
6、居中:例:android:layout_centerInParent=“true”
android:layout_centerHorizontal 水平居中;
android:layout_centerVertical 垂直居中;
android:layout_centerInParent 父控件的中央;
7、帧布局FrameLayyout(层布局) 后面的控件覆盖前面的控件
8、 绝对布局(AbsoluteLayout)淘汰
9、 表格布局 TableLayout 适用于多行多列的布局格式
注意:在TableLayout中,单元格可以为空,但是不能跨列,意思是只能不能有相邻的单元格为空。
<TableRow> 行 <TextView列
TableLayout常用属性:
android:shrinkColumns:设置可收缩的列,内容过多就收缩显示到第二行
android:stretchColumns:设置可伸展的列,将空白区域填充满整个列
android:collapseColumns:设置要隐藏的列
列的索引从0开始,shrinkColumns和stretchColumns可以同时设置。
子控件常用属性:
android:layout_column:第几列
android:layout_span:占据列数
10、 网格布局 gridlayout 于表格布局相似
跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式②容器中的组件可以跨多行也可以跨多列(相比TableLayout直接放组件,占一行相比较)
常用属性:
排列对齐:
①设置组件的排列方式: android:orientation="" vertical(竖直,默认)或者horizontal(水平)
②设置组件的对齐方式: android:layout_gravity="" center,left,right,buttom
设置布局为几行几列:
①设置有多少行:android:rowCount="4" //设置网格布局有4行
②设置有多少列: android:columnCount="4" //设置网格布局有4列
设置某个组件位于几行几列
注:都是从0开始算的哦!
①组件在第几行: android:layout_row = "1" //设置组件位于第二行
②组件在第几列: android:layout_column = "2" //设置该组件位于第三列
设置某个组件横跨几行几列:
①横跨几行: android:layout_rowSpan ="2" //纵向横跨2行
②横跨几列: android:layout_columnSpan ="3" //横向横跨2列
信息来源:https://www.cnblogs.com/web424/p/6961764.html