-
布局
-
布局3种方法
-
xml
-
Java
-
xml+java
-
-
四大布局
-
LinearLayout(线性布局)
-
6大属性
-
android.orientation:控制内部组件排列方向
-
android.gravity:控住内部组件的位置(文字在按钮中的位置)
- android.layout_gravity:控制自身在父组件的位置(按钮在布局中的位置)
-
android.layout_height:控制自身在父组件的高度
- android.height:控制组件内部内容的高度
-
android.layout_width:控制自身在父组件的宽度
-
android.id:设置id
-
android.background:设置背景,可以为颜色或图片
-
-
-
TableLayout(表格布局)
-
继承自线性布局,拥有6大特性
-
每行都是一个TableRow,多个控件多一列
-
自身3大新特性
-
android.collapseColumns:设置需要隐藏的列
-
android.shrinkColumns:设置允许收缩的列
-
android.stretchColumns:设置允许延伸的列
-
-
-
FrameLayout(帧布局)
-
2大特性
-
android.foreground:设置一个前景图像,永远在最上层
-
android.foregroundGravity:设置前景图像位置
-
-
-
RelativeLayout(相对布局)
-
android:layout_alignParentRight/Left/Top/Bottom:根据父容器定位
-
android:layout_toLeftOf/layout_toRightOf/above/below:根据兄弟组件定位
-
android:layout_alignTop/Bottom/Left/Right:与参考组件边界对齐
-
-
-
-
context:是一个抽象类,一共有Activity,Application,Service这3个继承自它的具体实现子类
-
基本组件
-
TextView(文本框)
-
hint:限制默认文本
-
singleLine:该文本框是否可为单行模式,默认false,不为单行
-
-
EditText(输入框)
- EditText继承自TextView
-
Button(按钮)
-
实现监听的三种方式:
-
1.使用FindViewById+onClickListener匿名内部类监听
-
2.为按钮声明OnClick方法并在Activity中实现(方法用public修饰)
-
3.实现view.OnClickListener接口中的OnClick方法
-
-
-
imageButton(图像按钮)
- 从android:src中给ImageButton设置图片样式
-
RadioButton(单选框)
-
RadioGroup.onCheckedChanged(RadioGroup group, int checkedId)参数
-
1.监听单选框的改变时用RadioGroup设置监听
-
2.监听最后选择的单选框
-
-
所有的单选按钮都属于RadioGroup中
-
-
Checkbox(复选框)
-
使用CompoundButton.OnCheckedChangeListener监听每一个checkbox
-
onCheckedChanged(CompoundButton buttonView, boolean isChecked)参数含义
-
1.当前监听的按钮
-
2.是否被选中
-
-
-
Spinner(下拉框)
-
两种实现方法
-
1.通过xml生成,使用android:entries(不常用)
-
2.通过ArrayAdapter生成:ArrayAdapter<>(this, android.R.layout.simple_spinner_item, s2);三个参数
-
上下文
-
下拉列表的样式
-
数组
-
-
-
监听方法
-
两种方法都需要setOnItemSelectedListener监听
-
onItemSelected(AdapterView<?> parent, View view, int position, long id)参数
-
1.当前的下拉框
-
2.被点击的的Item:adapterView.getItemAtPosition(i).toString()
-
3.被点击的item在下拉框中的位置
-
4.被点击的item在数据库中row id
-
-
四次关联
-
1.数组和Adapter
-
2.Adapter和Spinner
-
3.Spinner和Layout
-
4.Layout和Activity
-
-
-
ImageView
- 使用android:src控制ImageView内容
-
ListView(列表视图)
-
三种使用方法
-
1.在xml文件中使用entries属性,调用strings中的静态数据
-
2.使用SimpleAdapter或者ArrayAdapter生成:SimpleAdapter(this,lists,R.layout.item,new String[]{“im”,“tv1”,“tv2”},new int[]{R.id.image1,R.id.tv1,R.id.tv2});(list中需要map数组)
-
3.当只有一个ListView时,可以直接继承ListAvtivity,然后调用方法
-
-
监听方式与Spinner类似
-
-
DatePicker(日期拾取器)
-
获取日期拾取组件
-
获取当前年月日
-
初始化日期拾取器,并在初始化时指定监听器:datepicker.init(year, month, day, new DatePicker.OnDateChangedListener())
-
-
TimePicker(时间拾取器)
-
获取时间拾取组件
-
获取当前时分秒
-
为时间拾取器设置监听器:timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener()
-
-
Chronometer(计时器)
-
setBase(SystemClock.elapsedRealtime()); // 设置起始时间
-
setFormat(" 已用时间: %s");// 设置显示时间的格式
-
start();// 开启计时器
-
为计时器设置监听器:setOnChronometerTickListener(new Chronometer.OnChronometerTickListener())
-
-
-
Listview
-
RecyclerView
-
-
高级组件
-
AutoCompleteTextView(自动完成文本框)
-
基本属性
-
1.completionHint 指定提示标题
-
2.completionThreshold 设置输入第几个字才提示
-
3.dropDownHeight 下拉菜单高度
-
4.dropDownWidth 下拉菜单宽度
-
5.dropDownHorizontalOffset 水平偏移,默认与文本框左对齐
-
6.dropDownVerticalOffset 垂直偏移,默认紧跟文本框
-
7.popupBackground 设置背景
-
8.继承于EditText,即支持其属性
-
-
基本用法
-
1.xml 添加
-
2.定义字符串数组常量,即列表选项
-
3.使用适配器ArrayAdapt,将自动完成文本框和适配器关联(参数:context,样式,数组数据)
-
4.通过监听获取文本内容
-
-
-
TabHost(选项卡)
-
基本用法
-
1.在xml文件中使用TabHost、TabWidget和FrameLayout完成布局
-
TabHost、TabWidget和FrameLayout的id为固定值不能更改
-
@android:id/tabhost
-
@android:id/tabs
-
@android:id/tabcontent
-
-
2.各个标签页内容所需要的XML文件
-
3.在xml对应的Activity中获取并初始化TabHost
-
table.setup
-
声明LayoutInflater对象inflater = LayoutInflater.from(this);
-
-
4.为TabHost对象添加标签页
- tabHost.addTab(tabHost.newTabSpec(“01”).setIndicator(“第一个”).setContent(R.id.linear1));
-
-
-
ImageSwitcher(图像切换器)
-
基本用法
-
获取布局文件中的图片切换器
-
设置淡入淡出动画
-
设置ViewFactory,重写makeView
-
设置默认显示图像:setImageResource
-
-
-
GridView(网格视图)
-
不同属性
-
numColumns列数,通常大于1
-
columnWidth每列的宽度
-
tretchMode拉伸
-
-
基本用法与ListView相同
-
-
Gallery(画廓视图)
- 与GridView类似
-
RatingBar(星级评分条)
-
基本属性
-
isIndicator是否允许用户改变星级,默认true,不能改变
-
numStars总共有几颗星
-
rating默认有几颗星(float)
-
stepSize指定每次改变的最少的星级,默认为0.5颗
-
-
主要方法
-
getRating获取等级,选中几颗星
-
getStepSize获取每次最少要改变几个星级
-
getProgress获取进度
-
-
-
SeekBar(拖动条)
-
基本属性
-
max 最大值
-
progress 初始进度
-
padding 填充空隙
-
-
基本用法
-
添加拖动条
-
设置监听 OnSeekBarChangeListener,重写三个方法
-
-
-
ProgressBar(进度条)
-
基本属性
-
max最大值
-
progress制定进度条已完成位置
-
progressDrawable设置进度条达绘制形式
-
-
基本用法
-
通过findViewById找到XML文件中的ProgressBar
-
新建一个线程来更新进度
-
声明一个用于处理消息的Handler类的对象来收发消息
-
-
-
-
适配器
-
1.ArrayAdapter(以下拉框应用为例)
-
使用方法
-
1.定义一个新的String数组
-
2.定义一个新的Spinner
-
3.定义一个新的ArrayAdapter
- new ArrayAdapter(Activity.this,布局文件,字符串数组名)
-
//4.为ArrayAdapter绑定每个下拉选项的样式
- adapter.setDropDownViewResource(布局文件)
-
5.将ArrayAdapter绑定至Spinner
- spinner.setAdapter(adapter)
-
//6.将Spinner绑定至布局文件中
- LinearLayout.addView(spinner)
-
-
用途
-
1、装配ListView/Spinner
-
2、搜索结果结果集并自动匹配给AutoCompleteTextView
-
-
-
2.SimpleAdapter
-
使用方法
-
1.新建一个xml文件,新建ListView/Spinner组件
-
2.新建一个xml文件,控制List中每个元素的样式布局
-
3.新建一个list,用来储存每个Map
-
4.新建一个Map
-
5.将每个Map存入list中
-
6.依据参数表新建一个SimpleAdapter:new SimpleAdapter(this,lists,R.layout.item,new String[]{“im”,“tv1”,“tv2”},new int[]{R.id.image1,R.id.tv1,R.id.tv2})。
- 五个参数:Context context:上下文,一个嵌套Map集合的list,控制每个标签显示的布局,每个标签需要显示哪些内容.每个标签需要显示内容的id
-
7.将adpter与ListView/Spinner绑定
-
-
-
BaseAdapter(网格试图为例)
-
定义一个新的BaseAdapter
-
重写4种方法
-
getView()
-
获取视图
-
声明imageview对象
-
实例化imageview对象
-
设置imageview的图片
-
返回imageview
-
-
-
getItemId()
- 获取当前选项的ID
-
getItem()
- 获取当前选项
-
getCount()
- 获取总数目
-
-
将适配器与GridView关联
-
-
自定义适配器
-
继承BaseAdapter
-
重写四个方法
-
在getView中获取每个item对应的View视图
-
获取布局映射器对象
- LayoutInflater.from
-
将定义好的xml文件转化为View对象
- inflater.inflate
-
给view对象中的控件进行赋值
- findViewById.set
-
-
-
-
-
-
消息提示框与对话框
-
Toast(消息提示框)
- 创建方法
- 使用构造方法进行创建
- Toast.makeText(ActivityBar.this,text,Toast.LENGTH_SHORT).show();
- 使用构造方法进行创建
- 创建方法
-
Notification(状态栏通知)
-
基本用法
-
1.声明一个NotificationManager,配置属性
-
2.声明一个Channel对象,配置属性
-
3.将Channel交由NotificationManager管理
-
4.声明一个Notification对象,配置属性
-
5.将Notification对象交给NotificationManager管理
-
-
-
AlertDialog(对话框)
-
1.创建对话框new AlertDialog.Builder(MainActivity4AlertDialog.this).create()
-
2.设置属性
-
3.添加弹出选项setButton/setItems/setSingleChoiceItems
-
-
UI Layout
最新推荐文章于 2024-06-07 09:39:47 发布