一 TextView 父类 : View
>概念:文本控件 :文本内容的显示 默认配置不可编辑 子类EditText可以编辑
>属性:
android:text="你好,世界!" 文本内容
android:textSize="20sp" 文本字体的大小
android:textColor="#f00" 文本颜色
android:textStyle="bold|italic" 文本字体样式
bold:加粗
italic:斜体
android:maxLines="2":文本最多展示的行数
android:singleLine="true" 文本过多单行展示文本内容
android:ellipsize="none" 省略号的位置
none: 没有
start:开始位置
middle:中间位置
end:结尾位置
marquee:跑马灯
跑马灯必要条件:
android:singleLine="true" 单行展示
android:ellipsize="marquee" 设置成跑马灯样式
android:focusableInTouchMode="true" 设置获取焦点模式
android:focusable="true" 设置获取焦点
android:marqueeRepeatLimit="marquee_forever" 跑马灯无限循环
android:autoLink="phone"自动链接 (根据内容不同 打开相应的程序)
phone 电话
web 网址
map 地图
email 邮箱
all 以上所有
设置阴影效果
android:shadowColor="#0f0" 阴影的颜色
android:shadowDx="10.0" 阴影水平偏移量
android:shadowDy="8.0" 阴影垂直偏移量
android:shadowRadius="2" 阴影模糊程度 (值越大 越模糊)
二 EditText 文本编辑框 父类: TextView
>概念:文本编辑框 可以进行文本编辑
android:textColor="#00f" 文本颜色
android:hint="请输入用户名称" 提示
android:textColorHint="#f00" 提示的颜色
android:textCursorDrawable="@null" 光标颜色
android:digits="abcdefg" 文字的限定
android:inputType="number" 键盘弹出样式 ,改变文字内容
number:数字
date:日期
textPassword:改变密码样式
<requestFocus/>获取焦点
在逻辑代码中获取文本信息:
>//获取输入框的内容
//trim()去除前后空格
String name = etName.getText().toString().trim();
三 Button 按钮 父类: TextView
>概念:可以被按,点击 并且执行一个动作
>属性:
在按钮内部的上下左右设置图片:
android:drawableTop="@drawable/ic_launcher"
android:drawableBottom="@android:drawable/editbox_background_normal"
android:drawableLeft="@android:drawable/ic_dialog_alert"
android:drawableRight="@android:drawable/ic_menu_call"
android:background="@null"去掉背景颜色
android:background="@android:color/transparent" 设置背景颜色为透明
>监听:控件数量少 用一和二 控件数量多 用三和四
第一种实现:使用的是成员内部类
第二种实现方式:匿名内部类
第三种实现方式 :类实现OnclickListner
第四种实现方法: * 布局文件中xml中添加点击事件 Onclick属性
* 1,方法必须是public
* 2,返回值必须是void
* 3,必须和xml中Onclick里属性名一致
* 4,必须有View参数
四 ImageView 父类 : view
>概念:展示图片的控件
>属性:
<!-- android:adjustViewBounds="true" 自适应 只有一个adjustViewBounds没有作用,需要和maxWidth,maxHeight一起使用-->
<!-- 图片显示方式 android:scaleType="matrix" 保持原图片比例不变 从左上角开始截取 截取和 控件大小一至-->
<!-- android:scaleType="fitXY"不按比例进行缩放 将图片完整的展示到ImageVIew中 会变形 -->
<!-- android:scaleType="fitStart" 按比例进行缩放 显示在控件顶部 完整的显示图片 -->
<!-- android:scaleType="fitCenter" 按比例进行缩放 显示在控件中间 完整的显示图片 -->
<!-- android:scaleType="fitEnd" 按比例进行缩放 显示在控件底部 完整的显示图片 -->
<!-- 不按比较进行缩放 中间位置截取相应的尺寸 -->
<!-- 按比例扩大图片 居中展示 超出部分不展示 -->
<!-- 按比例缩小图片 居中展示 完全显示图片 -->
五 CheckBox 复选框
>概念:可以从一个集合选项中选择一个或者多个选项
>属性:checked 选择状态
>使用:
>方式一:使用onclickListner 监听事件(点击事件)
>方式二:使用OnCheckedChangeListener (CompleButton) 状态改变的监听
如果有全选的:全选的按钮的监听必须用onclickListner 监听事件
六 RadioButton 单选按钮
>概念:从多个互斥选项中选择一个 如果是选项全部展开 RadioButton 不是展开的Spinner(下拉列表)
>属性: android:checked="true"
>使用方法:
使用RadioButton要用RadioGroup进行分组 RadioGroup是LinearLayout的子类 可以控制方向
>方式一:使用onclickListner 监听事件(点击事件)
>方式二:****使用OnCheckedChangeListener (RadioGroup) 状态改变的监听 *****
七, ProgressBar 进度条
>
style="?android:attr/progressBarStyleSmall" 样式
android:progress="40" 第一进度
android:secondaryProgress="50" 第二进度
八, SeekBar 音频播放拖拽进度条
>
android:progress="40" 第一进度
android:secondaryProgress="50" 第二进度
>使用: setOnSeekBarChangeListener
九, ToggleButton 开关按钮(4.0之前)
android:textOn="开" 开启状态时的文本
android:textOff="关" 关闭状态的文本
android:checked="true" 默认的选择状态
十, Switch 开关按钮(4.0之后) api:14以后
android:textOn="开" 开启状态时的文本
android:textOff="关" 关闭状态的文本
android:checked="true" 默认的选择状态
十一、高级控件
1,Spinner
>概念;下拉菜单控件 默认显示当前选择的项(第一次展示集合中第一条数据)
>属性:
android:entries="@array/books" 展示数据 (note:提前知道数据是什么 )
android:spinnerMode="dropdown" spinner 样式
dropdown:下拉列表 设置popupBackground 每一项的背景颜色
dialog:弹出框 设置prompt 标题 调用的是Values/string.xml/string
>监听:setOnItemSelectedListener
2,什么是Adapter?
>适配器 将数据转换成控件识别的形式
>子类:BaseAdapter(下周) ArrayAdapter SimpleAdapter
3,ArrayAdapter的使用?
>一般用于只有String类型数据 展示到TextView上
>如果三个参数的ArrayAdapter item布局的根节点 必须是TextView
如果跟节点不是TextVIew 三个参数的会报错 使用四个参数的ArrayAdapter
4,SimpleAdapter的使用:
>处理复杂的数据 (带有图片和文字)
Context context: 上下文
List<? extends Map<String, ?>> data: 数据源
int resource: 布局
String[] from: 数据源中带key的数组
int[] to : 布局资源中id的数组
note:from里的key和to里的控件id 是对应关系
5,AutoCompleteTextView
>自动索引的EditText(文本输入框)
> 默认输入俩个字符 才开始索引
android:completionThreshold="1" 输入几个字符开始索引
6,addTextChangedListener()的用法?
>
//文本发生变化的监听 可以对EditText操作
autoView.addTextChangedListener(new TextWatcher() {
/**
* 改变文本时调用
* CharSequence s:变化之后的文本
* int start:变化的起点 从哪里开始改变
* int before: 相比较文本变化 添加没有改变0 删除改变
* int count:相比较文本变化 添加有值 删除没有改变0
*/
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
Log.e("AAA", "==onTextChanged==s:"+s+"=start:"+start+"=before:"+before+"=count:"+count);
}
/**
* 改变文本之前调用
* CharSequence s:变化之前的文本
* int start:变化之前的文本下标
* int count:相比较文本的变化 添加不变的0 删除是改变:删除几个展示结果
* int after:相比较文本的变化 如果添加是有值 如果删除不变 0
*/
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
Log.e("AAA", "==beforeTextChanged==s:"+s+"=start:"+start+"=count:"+count+"=after:"+after);
}
/**
* 改变文本之后调用
* Editable s:改变之后的文本
*/
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
Log.e("AAA", "==afterTextChanged==s:"+s);
}
});