目录
一、详解HelloWorld
1.Activity
2.布局文件
3.清单文件
二、布局基础
1、布局的作用
2、布局的种类
3、添加布局的方式
三、线性布局(重点)
线性布局的使用
布局属性
四、相对布局(重点)
相对布局属性设置
一、详解HelloWorld
1.Activity
--MainActivity
public class XxxActivity extends Activity{} 与Java中的 public class XxxFrame extends JFrame{}类似
--onCreate()(来自父类)
程序首先执行的方法,相当于java中的main方法,可以做一些初始化的工作
--setContentView() 设置内容视图 setContentView(R.layout.activity_main)
R文件:Packages模式
由于版本不一样, 在android中的位置不一样, 我的文件位置:Project-->AndroidStudioProjects-->app-->build-->intermediates-->runtime_symbol_list-->debug-->R.txt
R文件:为每一个资源文件按类别分配一个索引; 使程序员可以通过R.类别名.资源名去操作对应的资源
2.布局文件
布局文件存放在layout文件夹中。创建布局文件:Android-->app-->res-->layout-->右键-->New-->layout resource file;文件名称全小写
3.清单文件
清单文件即配置文件
二、布局基础
1、布局的作用
布局是指对界面结构的全面规划与安排,通过API中提供的各种布局能够快速的完成对界面的设计。
2、布局的种类
线性布局(LinearLayout
方向:垂直线性布局和水平线性布局;如果所需要用到的控件有很强的从左至右或从上至下的排列感觉时可考虑用
相对布局(RelativeLayout)
内部的子视图与添加顺序无关
帧布局(FrameLayout)
有层次的布局
表格布局(TableLayout)
网格布局(GridLayout)
约束布局(ConstraintLayout)
可用较少的代码做出较为复杂的效果
3、添加布局的方式
(1)利用xml文件设计
(2)使用java代码添加
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.graphics.Color;import android.os.Bundle;import android.view.ViewGroup;import android.widget.LinearLayout;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);//1.根布局为线性布局LinearLayout l1 = new LinearLayout(this);//2.设置宽高l1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));//3.背景设为红色l1.setBackgroundColor(Color.RED);//4.指定此Activity的内容视图为该线性布局setContentView(l1);}}
三、线性布局(重点)
线性布局的使用
文件名需全部小写,可以有数字和下划线,但不能以数字开头
布局属性
单位常用的有dp(尺寸单位、像素单位)、sp(用于字体方面,可用于设置字体大小时)、px(像素单位,但与dp不同,通常用dp)
orientation方向:vertical 垂直的 horizontal 水平的(默认为水平的)
layout_weight:权重,控件在指定的方向上按照权重分配大小使用时将对应的宽高属性调为0dp
android:layout_gravity:重力偏向,偏向父容器那里bottom下,center中,top顶,left左,right右,center_horizontal水平居中,ceneter_vertical垂直居中,clip_horizontalclip_vertical
android:gravity重力偏向内容偏向
四、相对布局(重点)
相对布局属性设置
(1)参照于父容器,取值为:true/false
android:layout_centerInParent 完全居中于父容器
android:layout_alignParentLeft 在父容器的左边,居左
android:layout_alignParentRight 在父容器中居右
android:layout_alignParentTop 在父容器中居上
android:layout_alignParentBottom 在父容器中居下
android:layout_centerHorizontal 水平居中
android:layout_centerVertical 垂直
属性之间不冲突时,可以一起使用
(2)参照于其他控件,取值为:其他控件id
1.在参照物的某边
android:layout_toLeftOf 在....左边
android:layout_toRightOf 在....右边
android:layout_above 在...上面
android:layout_below 在...下面
2.和参照物的某边对齐
android:layout_alignTop 和参照物的上边线对齐
android:layout_alignBottom 和参照物的下边线对齐
android:layout_alignLeft 和参照物的左边线对齐
android:layout_alignRight 和参照物的右边线对齐