Skip to content

基础控件

尺寸单位

  • px:像素
  • dp/dip:设备独立像素,相对单位,一般尺寸用
  • sp:比例独立像素,相对单位,一般文字用

UI控件分类

  • widget控件:UI的最基本单位,不能在这些组件中放入其他UI组件,如Button、TextView、EditText等
  • layout组件:布局组件,可包含其他UI组件,如LinearLayout、ConstraintLayout、RelativeLayout、FrameLayout等

View

所有UI视图控件的父类,表示屏幕上的一块空白区域。

View定义了以下属性,为所有UI控件共有:

xml属性 说明
android:id 组件标识符,值为@+id/值
android:backgroud 组件背景,可以是颜色或图片
android:visibility 组件可见性
android:layout_height 组件高度
android:layout_width 组件宽度

TextView 文本标签

显示文本信息,提供了以下属性:

  • text:文本内容
  • textColor字体颜色
  • textSize:字体大小
  • textStyle:字体风格
  • gravity:文本对齐方式

以上所有属性都可以在java中用set方法设置

1
2
3
4
5
6
7
//在activity文件中设置属性
TextView tv=(TextView) findViewById(R.id.welcome);     //获取需要设置的控件的引用

tv.setTextColor(getResources().getColor(R.color.red));    //通过颜色资源设置颜色
tv.setTextColor(Color.parseColor("#f00"));     //通过十六进制颜色设置颜色
tv.setTextColor(Color.rgb(255,0,0));           //通过三位rgb设置颜色
tv.setTextColor(Color.RED);                    //通过名字设置颜色

ImageView 图片标签

只显示图片,图片必须放在资源文件夹res/drawable中,通过src属性设置

Button

按钮,TextView的子类,有额外的事件处理,可以部分显示图片。有以下常用属性:

  • drawableTop:图片在文字上(下左右)方,值为图片资源的路径

自定义按钮样式:向应用添加按钮 | Views | Android Developers

可以在按钮四周显示图片。

属性 取值 说明
android:drawableTop @drawable/XXX 图片显示在文字的上边
android:drawableBottom @drawable/XXX 图片显示在文字的下边
android:drawableLeft @drawable/XXX 图片显示在文字的左边
android:drawableRight @drawable/XXX 图片显示在文字的右边

ImageButton

图片按钮,Image的子类。类似Button但不能显示文字

ImageButton中src和background的区别:

  • src表示图片源,相当于是前景色,显示在最前方,会覆盖背景,往往是居中显示,而background表示背景,显示的是整个控件所能看到的范围。
  • 当引用的图片小于控件的大小时,用src引用的图片将会原图显示,不改变图片的大小;而用background引用的图片会按照控件的大小放大图片。

EditText 文本编辑框

用于输入信息,TextView的子类,可以输入单行或多行文本,默认为单行。

  • editable:是否可以编辑,布尔值
  • inputType:输入字符类型,text/number/TextPassword/NumberPassword/phone等,可以用|连接多个取值。密码类型会有特殊显示显示。
  • hint:文本编辑框的提示语,显示在输入框内部

CompoundButton

复合按钮,继承自Button

CheckBox 复选按钮

CompoundButton的子类,显示为一个方框图标和说明性文字的集合,用户可以通过触摸点按改变选中状态。

提供以下常用属性:

  • checked:选中状态,布尔值,默认为false

在java中修改选中状态:

  • 调用set方法:
    cb.setChecked(Boolean b);
    
  • 调用状态反转方法:

    ```java
    cb.toggle();

RadioButton 单选框

CompoundButton的子类,显示为一个圆形图标和说明性文字的集合,用户可以通过触摸点按改变选中状态,和CheckBox一致。

使用时,多个单选按钮放在同一组中,这个组的标签是RadioGroup,其中的标签具有排他性

属性和调用属性的方法和Checkbox相同。

Toast

简易消息提示框,没有焦点,显示一定时间后消失。

位于android.widget.Toast包。

  • Toast.makeText():创建,返回一个Toast对象。
    • context:上下文对象,用getApplicationContext()获取
    • string:要展示的字符串
    • int:显示时长,Toast.LENGTH_SHORTToast.LENGTH_Long
  • toast.show():展示

TextClock 文本时钟

API版本>=17

  • android:format12Hour:设置为12小时制

    android:format12Hour="EEEE,MMMM,MM/"
    
  • android:format24Hour:设置为24小时制

Spinner 下拉列表框

事件监听:Adapter.OnItenSelectedLitener

事件处理:onSelect

属性:

  • spinnerMode列表框模式,默认dropdown(下拉菜单),可选dialog(弹出新的模态框)
  • entries:列表项数组资源
  • dropDownWidth:dropdown模式下可以设置下拉选项列表的宽度(不是没有展开下拉框选项的时候的宽度
  • prompt:dialog模式下可以设置提示信息,只能引用string.xml中的字符串,不能直接写字符串