Android基本控件

Android之路—初章

Android有很多原生的控件,能够实现很多简单的功能,今日简单记录记录几种

ImageView, ImageButton, EditText, RadioButton, TimePicker, DatePicker.

图片类控件

  • ImageView

    显示图片的视图,主要xml属性

属性名 关联方法 描述
baseline setBaseline(int) 其他控件基线相对图片顶部的位置
baselineAlignBottom setBaselineAlignBottom(boolean) 如果为true,将其他控件基线与ImageView底部
maxHeight setMaxHeight(int) 视图最大高度.
maxWidth setMaxWidth(int) 视图最大宽度.
background setBackgroundResource(int) 设置可绘制对象作为 ImageView 底层显示的内容.
src setImageResource(int) 设置可绘制对象作为 ImageView 表层显示的内容.

这里在drawable文件夹下存入一张图片,名为image,在drawable文件夹下的图片命名只能是字母,数字和下划线,不能大写和中文。

  • ImageButton

看到Button,会以为ImageButton是Button的派生类,其实ImageButton是ImageView的派生类。

所以ImageButton同样拥有ImageView的属性,但同时,他也具有Button的基本样式。

设置类控件

  • EditText

    可编辑的文本视图,继承TextView。

XML属性 相关方法 说明
hint setHint(String) 设置文本提示内容,在编辑时消失
numeric 设置输入限定类型, integer(整数). decimal(小数)
singleLine setSingleLine(Boolean) 设置显示文本是否单行,如果ture,不会自动换行
password setTransformationMethod 设置输入时是否为暗文,即密码不可见输入
capitalize setAllCaps 设置输入仅显示大写

EditText有一个常用方法使用,就是提取用户输入的字符串

1
2
3
EditText et = (EditText) findViewById(R.id.edittext);//初始化控件

String str = et.getText().toString();//转换成字符串
  • RadioButton

单选按钮,状态选择,比如保存用户名和密码

记录两个常用的方法

方法名 说明
isChecked() 单选按钮是否被选中,选中返回true,未选false
setChecked(Boolean) 参数为true,选择,参数为false,不选择

选择类控件

回顾一个Java的获取时间的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*将时间转为字符串方法*/
private String getTime() {

/*设置时间格式*/
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

/*获取当前时间*/
Date now = new Date();

/*当前时间以设置的格式转换为字符串*/
String time = format.format(now);

return time;
}
  • TimePicker

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TimePicker timePicker = (TimePicker) findViewById(R.id.time_Picker);

    timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {

    /*实现当前选择的时间的其他操作,例如在一个TextView显示时间*/

    }
    });
  • DatePicker

    这个监听事件的monthOfYear参数时以0开始,所以在调用时+1,显示正常的月份

1
2
3
4
5
6
7
8
9
10
DatePicker datePicker = (DatePicker) findViewById(R.id.date_Picker);

datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {

public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

/*实现当前选择的时间的其他操作,例如在一个TextView显示日期*/

}
});