设计和代码切换,一般情况下,我们 UI 布局都是先拖再细调整,也就是先用设计默认拖出一个大概的布局,然后用代码来微调

 

 1. TextView 文本框

1.1 常用属性

 

属性 说明
android:id 为 TextView 设置一个组件 id,方便在 Java 中通过 findViewById() 方法获取到该对象
android:layout_width TextView 的宽度,值一般为 wrap_content 或者 match_parent(fill_parent),前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器
当然也可以设置成特定的大小,比如 200dp
android:layout_height TextView 的宽度,内容同上
android:gravity 设置控件中内容的对齐方向,可以是
top / button / left / right / center_vertical / fill_vertical...
android:text 设置显示的文本内容,一般将字符串写到 string.xml 文件,然后通过 @string/xxx 来引用
android:textColor 设置字体颜色,一般将颜色写入 colors.xml 文件,然后通过 @color/xxx 引用
android:textStyle 设置字体风格,可以用竖线(|)叠加,比如 bold|italic
有三个可选值:
normal(无效果)
bold(加粗)
italic(斜体)
android:textSize 设置字体大小,单位一般用 sp
android:background 设置 TextView 的背景颜色,可以是图片

跑马灯效果:

属性 说明
android:singleLine 设置是否单行显示
android:ellipsize 设置文字超出控件宽度时的显示方式,值有
end 显示结尾部分
marquee 跑马灯滚动显示
middle 显示中间部分
none 默认
start 显示开始部分
android:marqueeRepeatLimit 设置跑马灯重复次数,值可以是以下几种
marquee_forever 重复
具体的数字,比如 2

识别链接效果:

android:autoLink 属性用于设置 TextView 是否识别链接类型和设置可识别的链接类型

android:autoLink 的值有以下几种

说明
none 不识别,禁用识别
all 可以识别全部,也就是下面四种
email 电子邮件
map 地图
phone 一串数字,或者以 tel:// 开头的电话号码
web 网页地址,以 http(s):// 开头的网址

设置 TextView 字间距

属性 android:textScaleX 控制字体水平方向的缩放,默认值 1.0f,类型值是 float

如: setScaleX(2.0f);

设置 TextView 行间距

Android TextView 默认显示中文时会比较紧凑,为了让每行保持的行间距,可以设置如下属性

属性 说明
android:lineSpacingExtra 设置行间距,如"3dp"
android:lineSpacingMultiplier 设置行间距的倍数,如 "1.2"
如:setLineSpacing(1.5)

1.2 监听方法

 

2. EditText 输入框

2.1 常用属性

属性 说明
android:hint 提示文本的内容,比如 "请输入账户名称"
android:textColorHint 提示文本的颜色
android:selectAllOnFocus ="true",获得焦点获取文本所有内容
android:minLines="3" 设置最小行的行数为 3
android:maxLines="3" 设置 EditText 最大的行数为 3
当输入内容超过 maxline,文字会自动向上滚动
android:singleLine="true" 限制 EditText 只允许单行输入,而且不会滚动

android:inputType :对输入文本类型进行限制

文本类型,多为大写、小写和数字符号

android:inputType="none"  android:inputType="text"  android:inputType="textCapCharacters"  android:inputType="textCapWords"  android:inputType="textCapSentences"  android:inputType="textAutoCorrect"  android:inputType="textAutoComplete"  android:inputType="textMultiLine"  android:inputType="textImeMultiLine"  android:inputType="textNoSuggestions"  android:inputType="textUri"  android:inputType="textEmailAddress"  // 邮箱类型android:inputType="textEmailSubject"  android:inputType="textShortMessage"  android:inputType="textLongMessage"  android:inputType="textPersonName"  android:inputType="textPostalAddress"  android:inputType="textPassword"    // 密码android:inputType="textVisiblePassword"  android:inputType="textWebEditText"  android:inputType="textFilter"  android:inputType="textPhonetic"

数值类型

android:inputType="number"  android:inputType="numberSigned"  android:inputType="numberDecimal"  android:inputType="phone"         // 拨号键盘  android:inputType="datetime"  android:inputType="date"          // 日期键盘  android:inputType="time"          // 时间键盘

2.2 监听方法

 

3. ImageView 图像视图

3.1 常用属性

ImageView 有 2中属性,分为为: src, backgroud,他们之间的区别是:

  1. background 通常指的都是 背景, 而 src 指的是 内容
  2. 当使用 src 填入图片时, 是按照图片大小直接填 ,不会进行拉伸。而使用 background 填入图片,则是会根据 ImageView 给定的宽度来进行 拉伸

设置缩小放大的大小

android:adjustViewBounds 设置缩放时是否保持原图长宽比
android:maxHeight 设置 ImageView 的最大高度
android:maxWidth 设置 ImageView 的最大宽度

 

3.2 监听方法

 

4. Button 按钮

4.1 常用属性

1. Button 继承自 TextView ,所以可以 使用 TextView 的那些属性

2. 我们可以将 Button 的 android:background 属性设置为该 drawable 资源即可轻松实现按下 按钮时不同的按钮颜色或背景

下表列出了可以设置的属性

属性 说明
drawable 引用的 Drawable 位图,可以把它放到最前面,就表示组件的正常状态
android:state_focused 是否获得焦点
android:state_window_focused 是否获得窗口焦点
android:state_enabled 控件是否可用
android:state_checkable 控件可否被勾选,例如,checkbox
android:state_checked 控件是否被勾选
android:state_selected 控件是否被选择,针对有滚轮的情况
android:state_pressed 控件是否被按下
android:state_active 控件是否处于活动状态,例如,SlidingTab
android:state_single 控件包含多个子控件时,确定是否只显示一个子控件
android:state_first 控件包含多个子控件时,确定第一个子控件是否处于显示状态
android:state_middle 控件包含多个子控件时,确定中间一个子控件是否处于显示状态
android:state_last 控件包含多个子控件时,确定最后一个子控件是否处于显示状态

在 res/drawable 目录下新建一个按钮状态的资源文件 btn_bg.xml

<?xml version="1.0" encoding="utf-8"?>            

 

 

 4.2 监听方法

 

 

5. RadioButton 单选按钮

5.1 常用属性

RadioButton 单选按钮就是只能够选中一个,所以我们需要把 RadioButton 放到 RadioGroup 按钮组中,从而实现单选功能

RadioButton 继承自 Button,所以拥有 Button 的所有公开属性和方法

RadioButton 只有两个状态,选中与未选中,所以也就只有一个属性是最重要的,那就是 android:checked

属性 说明
android:checked 设置或获取 RadioButton 的选中状态

如果 RadioButton 未选中,那么点击它可以让它选中,但反过来是不可以的,就是不能从选中状态到未选中状态

 

5.2 监听方法

 

 

6. RadioGroup 单选按钮组

6.1 常用属性

要实现 RadioButton 的 单选功能,需要把所有的 RadioButton 放到 RadioGroup 里面

 用于将几个 RadioButton 组在一起形成单选按钮组,实现单选功能,也就是选中一个,会取消其它选项的选中

 

RadioGroup 只提供了一个 XML 属性 android:checkedButton 用于指定初始化时选中的 ID

属性 说明
android:checkedButton 初始化时选中的选项 ID (android:id)

RadioGroup 提供了很多方法用于选中或者获取选中的选项 ID ,下面列出常用的几个

方法 说明
check(int id) 根据 id 选中某个选项
clearCheck() 清除所有选项的选中状态,也就时一个都没选中
getCheckedRadioButtonId() 获取选中的选项 id
事件 说明
OnCheckedChangeListener 当 RadioGroup 中的某个选项被选中时触发

6.2 监听方法

 

 

7. CheckBox 复选框

 

7.1 常用属性

Android CheckBox (复选框) 继承自 Button ,可以说是只有两种状态的按钮 (选中或未选中状态)

可以把多个 CheckBox 放在一起实现同时选中多项,但是,记住,它们之间没有任何关系,一个的选中并不会影响另一个选中或者不选中

 

CheckBox 除了从 Button 继承而来的属性外,没有自己的属性,但从 CompoundButton 继承了一个属性 android:checked 用于表示是否选中

属性 说明
android:checked 设置或者获取 CheckBox 是否选中

 

7.2 监听方法

CheckBox 提供了几个方法和事件用于设置或者获取自身是否选中状态

方法 说明
isChecked() 判断自身是否选中
setChecked(boolean checked) 设置自身是否选中状态
事件 说明
OnCheckedChangeListener 选中状态改变监听器,当自身选中状态变化时会触发这个事件

 

8. ToggleButton 开关按钮

8.1 常用属性

ToggleButton (开关按钮) 允许我们在两个状态之间切换,有点类似于电灯的开关

ToggleButton 和 CheckBox 一样都继承自 CompoundButton ,所以都有 Button 的属性和方法,又有 CompoundButton 的属性 android:checked

属性 说明
android:disabledAlpha 当 ToggleButton 处于 禁用 时的透明度
android:textOff 当 ToggleButton 处于  时的文本,如:android:textOff="关闭"
android:textOn 当 ToggleButton 处于  时的文本

 

8.2 监听方法

ToggleButton 提供了一些方法用来改变或获取自身的状态和开关时的文本

方法 说明
getTextOff() 获取 ToggleButton 关时显示的文本
getTextOn() 获取 ToggleButton 开时显示的文本
setChecked(boolean checked) 设置 ToggleButton 是否选中
setTextOff(CharSequence textOff) 设置 ToggleButton 关时显示的文本
setTextOn(CharSequence textOn) 设置 ToggleButton 开时显示的文本
toggle() 改变 ToggleButton 的开关状态
事件 说明
CompoundButton.OnCheckedChangeListener 当 ToggleButton 的开关状态改变时触发

 

 

9. Switch 开关

9.1 常用属性

允许我们在两个状态之间切换,有点类似于现在流行的滑动解锁

Switch (开关) 也继承自 Button 和 CompoundButton,所以拥有它们的属性、方法和事件

不过 Switch 也拥有自己的属性,而且特别的多

 

属性 说明
android:showText 设置 on/off 的时候是否显示文字
android:splitTrack 是否设置一个间隙,让滑块与底部图片分隔
android:switchMinWidth 设置开关的最小宽度
android:switchPadding 设置滑块内文字的间隔
android:switchTextAppearance 设置开关的文字外观
android:textOff 按钮没有被选中时显示的文字
android:textOn 按钮被选中时显示的文字
android:textStyle 文本的样式(普通,粗体,斜体,粗体)
android:track 底部的图片
android:thumb 滑块的图片
android:typeface 设置字体,默认支持这三种:sans, serif, monospace

 

9.2 监听方法

Switch 提供了一些方法用来改变或获取自身的状态和开关时的文本

方法 说明
getTextOff() 获取 Switch 关时显示的文本
getTextOn() 获取 Switch 开时显示的文本
setChecked(boolean checked) 设置 Switch 是否选中
setTextOff(CharSequence textOff) 设置 Switch 关时显示的文本
setTextOn(CharSequence textOn) 设置 Switch 开时显示的文本
toggle() 改变 Switch 的开关状态
事件 说明
CompoundButton.OnCheckedChangeListener 当 Switch 的开关状态改变时触发

 

10. ProgressBar 进度条

10.1 常用属性

 ProgressBar(进度条) 可以用来显示一个操作的进度,一般用于比较耗时的地方,比如下载进度条,比如加载等待

ProgressBar 有两种模式,确定性 和 不确定性的 ,有两种外观模式,条形 和 圆形,所以总共有四种,这涉及到两个属性

属性 说明
android:indeterminate 是否显示不确定模式,默认为 true
style ProgressBar 的外观样式

android:style 属性有以下几个值可以选择

属性 说明
Widget.ProgressBar.Horizontal  
Widget.ProgressBar.Small  
Widget.ProgressBar.Large  
Widget.ProgressBar.Inverse  
Widget.ProgressBar.Small.Inverse  
Widget.ProgressBar.Large.Inverse

 其他属性

属性 说明
android:max 进度条的最大值
android:progress 进度条已完成进度值
android:progressDrawable 设置轨道对应的Drawable对象
android:indeterminate 如果设置成true,则进度条不精确显示进度
android:indeterminateDrawable 设置不显示进度的进度条的Drawable对象
android:indeterminateDuration 设置不精确显示进度的持续时间
android:secondaryProgress 二级进度条,类似于视频播放的一条是当前播放进度,一条是缓冲进度,前者通过 progress 属性进行设置

 

10.2 监听方法

 

方法 说明
getMax() 返回这个进度条的范围的上限
getProgress() 返回进度
getSecondaryProgress() 返回次要进度
incrementProgressBy(int diff) 指定增加的进度
isIndeterminate() 指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate) 设置不确定模式下

 

11. SeekBar ( 拖动条 ) 控件

11.1 常用属性

SeekBar ( 拖动条 ) 控件一般用于音乐播放器或者视频播放器的音量控制或者播放进度控制

SeekBar 是 ProgressBar 的子类,所以 ProgressBar的属性都可以用

SeekBar 有以下几个简单的属性

属性 说明
android:max ="100" 滑动条的最大值
android:progress="60" 滑动条的当前值
android:secondaryProgress="70" 二级滑动条的进度
android:thumb = "@mipmap/sb_icon" 滑块的 drawable

 

11.2 监听方法

 

SeekBar 内置了 SeekBar.OnSeekBarChangeListener 事件

该事件会触发三个方法

方法 说明
onProgressChanged 进度发生改变时会触发
onStartTrackingTouch 按住 SeekBar 时会触发
onStopTrackingTouch 放开 SeekBar 时触发

 

 

 

更多相关文章

  1. HelloWorldAndroid几个控件
  2. 转载:Android的设置界面及Preference使用
  3. android mainfest 属性详解
  4. Android中的控件
  5. 使用GridView的auto_fit遇到的坑
  6. Android抽象布局——include、merge 、ViewStub
  7. Android(安卓)svg 绘制三角形
  8. Android横竖屏切换总结
  9. Android(安卓)Studio添加第三方库遇到的一些坑

随机推荐

  1. Mac下发布Unity3d中Android平台下出现“a
  2. 用Gradle 构建android程序
  3. android WebView总结
  4. android 导入工程报错:Unable to resolve
  5. Android解析服务器端发来的xml数据
  6. android控件注意点(一)
  7. android的Handler
  8. Android术语小全,推荐一下(改日在翻译).
  9. Android(安卓)滑动手势侦测方法介绍
  10. Android(安卓)Power Management