Android中常用基础组件EditText、RadioGroup、CheckBox、DatePicker属性使用说明

基础组件

所有的控件都可以在java代码中创建出来,并且大部分的属性都对应set与get方法
比如View view= new View(Context context)
context是上下文,是Activity父类一般传入当前Activity!

EditText

EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编
辑内容,并可以在程序中对这些内容进行处理。

EditText继承于TextView,拥有TextView中所有的属性和方法,一般用来提供给用户进行文字,密码等
输入操作

注:EditText大部分属性都属于TextView,但在TextView上设置没有效果

常用属性

android:capitalize设置英文字母大写类型:
//sentences 仅第一个字母大写
//words 每一个单词首字母大小,用空格区分单词
//characters 每一个英文单词都大写,在模拟器上用pc键盘输入有效,使用软键盘无效

android:digits 设置允许输入哪些字符。“如1234567890.±*/%\n()”
android:editable 设置允许编辑。仍然可以获取光标,但无法继续输入
android:hint Text为空时显示文字提示信息,可通过textColorHint设置提示信息的颜色

android:imaOptions 设置软键盘的Enter键。可用“|”设置多个,有如下可设置:
//normal 默认,换行
//actionGo 软键盘下方变成“前往”,“去往”,“Go”输入法不同,显示内容不同
//actionSearch 键盘下方“搜索”变放大镜
//actionSend 键盘下变成“发送”
//actionNext 软键盘下面变成“下一个”
//actionDone 软件盘变成“完成”,点击光标在原来的输入框上,但软键盘关闭

android:inputType 设置文本的类型,用于帮助输入法显示合适的键盘类型。
android:maxLength 限制输入的字符数。如果设置5,那么仅可以输入5个汉字,数字,英文字母。

监听事件

EditText 作为用户输入组件,使用频率非常高
当文字的改变,修改Enter键后,我们都要处理

Enter监听事件

EditText etDone = (EditText) findViewById(R.id.etDone);
	  //设置Enter按键处理事件
etDone.setOnEditorActionListener(new OnEditorActionListener() {
	  @Override
	  public boolean onEditorAction(TextView v, int actionId, KeyEvent event)        {
		 //处理
		 //actionId 当前事件组件的资源ID,用来区分多个EditText用同一个监听器
		 //event 事件源,封装了当前操作动作
		 
		  return false;
  }
  });

文字改变监听

EditText etDone = (EditText) findViewById(R.id.etDone);
 //添加一个文字改变时监听
 etDone.addTextChangedListener(new TextWatcher() {

  @Override
  public void onTextChanged(CharSequence s, int start, int before, int cou
nt) {
	  //文字改变时 回调此方法
  }

  @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
  int after) {
	  //文字改变之前
  }

  @Override
  public void afterTextChanged(Editable s) {
	 //文字改变之后
  }
  });

RadioGroup与RadioButton单选按钮

  • RadioButton是Button的子类,可以直接用Button的所有属性。如果多个按钮同时被选中一个,需要同时放在RadioGroup组中

  • RadioGroup是linearLayout的子类,默认从上到下排列子元素,如果需要改变纵向,需要设置Android:orientation为horizontal

RadioButton与RadioGroup的关系:

RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

每个RadioGroup中的RadioButton同时只能有一个被选中

不同的RadioGroup中的RadioButton互不相干

一个RadioGroup中至少有2个RadioButton

一个RadioGroup中的RadioButton默认会有一个被选中,建议放在RadioGroup中的起始位置

RadioGroup常用属性

android:checkedButton 值为数字,这是子单选按钮 应该在默认的情况下 此单选组中的id

监听事件

当RadioGroup中的选中项变更后,我们常常需要处理其他视图,
比如,性别变更成“女”后,我们可能需要显示符合该性别的头像列表进行更新。

注意:RadioGroup的监听事件和RadioButton的设置监听事件名称虽然一样,都是 setOnCheckedChangeListener();并且传入的类名也一样OnCheckedChangeListener,但是类并 不是同一个,属于不同包下的类,如果这两个类都需要实例化,那么可以用包名去区分,View的 OnClick事件和Dialog的OnClick事件也是同理。

RadioGroup的子控件改变监听位于android.widget.RadioGroup.OnCheckedChangeListener

radioButton.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {

  @Override
  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)	 {
	  //其中实现方法中的isChecked代表当前GroupButton的选中状态
	  //当一个组中的按钮选中改变时,会先调用当前选中的监听方法,传入true
	  //接着会调用前一个被选中的按钮,传入false。
	  }
});

CheckBox 多选按钮

CheckBox和Button一样,也是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻
点击,缺点在于只有“是”和“否”两种情况,但我们往往利用它的这个特性,来获取用户的一些信
息。如一个身份表单中,常常让用户填写“是否已经结婚”,显然让用户去填写“是”或“否”是不合
理的

CheckBox与RadioButton的监听事件相同,都是
android.widget.CompoundButton.OnCheckedChangeListener

DatePicker&TimePicker

在Android程序中,我们通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:
先定义DatePicker和TimePicker布局然后通过Calendar类获取系统时间
接着通过init方法将日期传递给DatePicker初始化日期控件,在响应点击事件中可以通过DatePicker的
getYear();getDayOfMonth();getMonth()函数获取具体日期,同时可以在OnDateChangedListener
事件中监听日期变化,设置事件函数同理。

与君共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕氏春秋i

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值