android学习笔记:
学习视频链接地址:**https://www.bilibili.com/video/BV1jW411375J?from=search&seid=15970457143530595708**属性介绍:
android:id="@+id/属性"
//背景图片(图片放在mipmap目录下)
android:background="@mipmap/图片名称"
//背景颜色(颜色值)
android:background="#ffffff"
//内边距(paddingLet、paddingTop、paddingRight、paddingBottom)
android:padding="16dp"
//外边距(marginLet、marginTop、marginRight、marginBottom)
android:margin="16dp"
//布局的宽度、高度:match_parent跟屏幕的宽/高度相同,wrap_content布局的宽/高度恰好能包裹它的内容)
android:layout_width:""
android:layout_height:""
//组件的摆放位置(center表示居中显示、right|buttom表示居右下角显示)
android:gravity="right|buttom"
//表示id属性为user组件,不受组件排放位置的控制
android:ignoreGravity="@id/user"
使用XML文件控制UI界面:
- 在res/layout目录下编写activity_main.xml布局文件文件
- 在MainActivity类中使用代码:setContentView(R.layout.activity_main);用于显示activity_main.xml文件布局的内容
常用的布局管理器:
-
RelativeLayout:相对布局管理器
如图所示:
-
LinearLayout:线性布局管理器
//设置布局中控件的排列顺序(vertical:垂直线性布局管理器——布局内控件从上到下竖直排列,每一行只能放置一个组件,horizontal:水平线性布局管理器——从左到右,每一列只能放置一个组件)
android:orientation=""
如图所知:
//用于分配组件的剩余空间,默认为0
android:layout_weight=""
- FrameLayout:帧布局管理器
如图:默认原点在左上方位置
//设置前景图像(前景图像通常是一张图片资源,位于帧布局的最上方,不会被覆盖)
android:foreground=""
//前景图像的位置
android:foregroundGravity=""
- TableLayout:表格布局管理器
如图:使用表格布局
//表示一行三列
<TableRow>
<Button/>
</Button>
</Button>
</TableRow>
//设置隐藏列:从0开始,下面代码表示第2列被隐藏(若要设置多个隐藏则用逗号分隔)
android:collapseCoumns="1"
//设置被拉伸,从而使用屏幕剩余宽度:下从0开始,下面代码表示第2列被拉伸
android:stretchCoumns="1"
//设置被收缩,从而使超出屏幕宽度的内容可以显示:下从0开始,下面代码表示第2列被被收缩
android:shrinkCoumns="1"
- GridLayout:网格布局管理器
表格布局和网格布局的区别:
如图:四行六列的网格
//设置最大列数:下面代码表示只能有两列
android:columnCount="2"
//GridLayout布局默认是水平排列的,使用下面代码设置竖直排列
android:orientation="vertical"
//设置组件位于第一行第一列
android:layout_column="0"
android:layout_row="0"
//设置组件占两行,并且第二行填充屏幕剩余高度
android:layout_rowSpan="2"
android:layout_gravity="fill"
布局管理器的嵌套使用:
如图:
- 根布局管理器必须包含xmlns属性
- 在一个布局文件中,最多只能有一个根布局管理器,使用多个布局管理器需要添加到根布局管理器中。
//在线性布局管理器中嵌套相对布局管理器(再在子布局管理器中添加组件设计)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_span="2"
android:stretchColumns="0,1,2,3"
android:visibility="visible">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
<Button/>
</RelativeLayout>
</TableLayout>
UI基本控件的使用:
文本类控件:
- TextView:用于显示文本信息
- EditText:编辑框,用户可以输入信息
按钮类控件:
- Button:按钮,既可以显示文本又可以显示图片,同时可以设置点击效果
- ImageButton: 图片按钮,可以将制作好的图片放在按钮上
- RadioButton:单选按钮,有选中和为选中两种状态
- CheckButton:复选框,用于实现对选功能,有选中和为选中两种状态
日期时间类控件:
- DatePicker:日期选择器
- TimePicker:时间选择器
- Chronometer: 计时器
进度条控件:
- ProgressBar:进度条
- SeeBar:拖动条
- RatingBar: 星级评分条
图像类控件:
- ImageView:表示图片,可以加载各种图片资源
- ImageSwitcher:图片切换器
列表控件:
- GridView: 网格视图
- Spinner:下拉列表框视图
- ListView: 列表视图
- ScrollView:下拉滚动视图
- TabWidget:选项卡视图
通用控件:
- DatePicker:日期选择器
- TimePicker:时间选择器
- Chronometer: 计时器
TextView的常用属性:
属性名称 | 功能描述 |
---|---|
android:layout_width | 宽度 |
android:layout_height | 高度 |
android:id | 唯一标识id |
android:background | 背景 |
android:text | 文本内容 |
android:textColor | 文本颜色 |
android:textSize | 文本大小 |
android:gravity | 文本内容的位置 |
android:maxLength | 文本最大长度,超出此长度的文本不显示 |
android:lines | 文本的行数,超出此行的文本不显示 |
android:lineSpacingTop | 文本的行间距 |
android:textStyle | 文本样式,boil(粗体)、italic(斜体)、normal(正常) |
android:layout_margin | 当前控件与屏幕边界、周围控件、布局的距离 |
android:padding | TextView控件与该空间中内容的距离 |
EditText的常用属性:
属性名称 | 功能描述 |
---|---|
android:hint | 控件中内容为空时显示的提示文本信息 |
android:textColorHint | 控件中内容为空时显示的提示文本信息的颜色 |
android:password | 输入文本框的内容显示为"." |
android:phoneNumber | 输入文本框的内容只能是数字 |
android:editable | 是否可编辑 |
ImageView的常用属性:
属性名称 | 功能描述 |
---|---|
android:src | 设置控件需要显示的图片资源 |
android:scaleType | 将图片资源缩放或移动,以适应控件的宽高 |
ImageButton的常用属性:
属性名称 | 功能描述 |
---|---|
android:src | 设置控件需要显示的图片资源 |
android:background =“0000” | 将图片资源背景框颜色去掉 |
ProgressBar的常用属性:
属性名称 | 功能描述 |
---|---|
style | 设置进度条的样式 |
android:max | 设置进度条的最大值 |
android:program | 设置进度条当前值 |
styl的属性值有以下:
结合线程使用进度条
RatingBarr的常用属性:
属性名称 | 功能描述 |
---|---|
style | 设置进度条的样式 |
android:numStars | 星星的数量 |
android:rating | 星星点亮的数量 |
android:stepSize | 一次点亮的星星数量 |
监听器:
1、给android:id="@+id/btn"的按钮添加监听器:
- 通过匿名内部类实现:
//(1)获取监听器控件对象
btn = (Button) findViewById(R.id.btn);
//(2)添加监听事件(通过匿名内部类实现)
button0.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
//(3)编写实现点击事件的代码(这里监听btn按钮点击后弹出消失提示)
Toast.makeText(MainActivity.this,"",Toast.LENGTH_SHORT).show();
}
});
- 通过onClick属性实现:
//(1)将android:onClick属性指定为方法名称
android:onClick="myClick"
//(2)编写一个包含View类型参数的方法
public void myClick(View view){
//(3)编写实现点击事件的代码(这里监听btn按钮点击后弹出消失提示)
Toast.makeText(MainActivity.this,"",Toast.LENGTH_SHORT).show();
}
- 通过接口实现
//(1)在onCreate方法中设置btn控件的监听器
btn.setOnClickListener(this);
//(2)实现OnClickListener接口的onClick方法
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn:
//(3)编写实现点击事件的代码(这里监听btn按钮点击后弹出消失提示)
Toast.makeText(MainActivity.this,"",Toast.LENGTH_SHORT).show();
break;
}
}