1.EditText
- 文本输入框,在android中经常使用的一个控件!
- 继承关系:EditText继承于TextView,所以说TextView的属性到这里都生效
- 常用属性
- android:backgrount=”@null”去掉自带背景
- android:hint=”文本”虚提示
- android:textColorHint设置hint文本颜色
- android:gravity设置文本位置
- android:inputType控制输入内容,能有效的提高用户体验度
大致分两种:
- 字符类型:text
- 数字类型:number/phone/date
- 带password:输入以后,会自动隐藏,变成…
- 不带password:输入以后正常显示
- android:imeOptions改变键盘右下角原提交类型!
imeOptions必须配合singleLine才能生效 - android:nextFocusDown=”@+id/name”指定跳转到哪个EditText上,此时引用id不能使用@id,因为name在它之后创建!那么必须使用特殊写法@+id,此写法是先创建,后绑定控件
注意:此写法不到必要的时候,不推荐使用,因为会造成类型转换错误!在写此引用形式的时候!也要注意一点,例如:EditText在引用的时候,使用了@+id/xxx,那么对应的控件也要是EditText - android:imeActionLabel=”发送”自定义右下角显示文本内容!
- android:imeActionId=”123”配合自定义右下角按键,可以定义自定义属性的actionId
setOnEditorActionListener(new OnEditorActionListener()){
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
}
返回值的含义:true代表自己处理此事件,不需要系统再做任何处理!
false代表不管你处理不处理,系统都处理!而且false为默认返回值!
EditorInfo类中包含常量值Log.e(tag, msg)
在logcat里输出消息,相当于java中syso在控制台输出,测试完后要删除,会被反编译
tag:标签
msg:提示消息Toast.makeText(context,text,duration).show()
context:上下文对象,系统自带工具类,Android中很多资源访问的方法都在此类中,这个类包含了Android中许多许多极其重要的方法!
MainActivity是上下文对象的子类,所以可以直接写MainActivity.this,查看继承关系快捷键CTRL+T
text:提示内容,是字符串格式String
duration:Toast显示时间
最后一定要调用.show()方法让toast显示出来
2.Button
- Button继承于TextView
Button控件监听事件的三种写法
- 一:直接给Button设置监听事件
Button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
}
}); 二:Activity实现OnClickListener接口
- Activity impelements OnClickListener(android.view.view)
- 添加未实现的方法
- Button设置监听事件 button.setOnClickListener(this)
- onClick方法 根据id进行区分
三:设置onClick属性
开发中比较常用的一种方法,这种方法简单,代码量少!- 控件下声明
- 在对应的Activity中声明对应的方法即可!
- 注意:此方法必须是public void 方法名(View v)
- 注意:TextView、ImageView等Google在设计的时候,把他们作为展示类控件!默认不能点击!需要把默认属性设置为可以点击!android:clickable=”true”设为可点击
- 一:直接给Button设置监听事件
3.ImageView
- ImageView相框,android:background相框的背景,android:src相片,相片不一定充满相框
- android:adjustViewBounds=”true”
- android:maxHeight=”“
- android:maxWidth=””
前提:宽高设置成wrap_content自适应
maxHeight和maxWidth限制了图片的最大大小,如果adjustViewBounds为true,那么如果图片超过限制大小,就会压缩成最大值,如果没有超过,就正常显示。 - android:scaleType
- matrix:从左上角开始进行绘制,如果图片大于ImageView:只会截取ImageView大小部分,如果图片小于ImageView:那么图片会完全显示,在ImageView的左上角!没有改变原来图片的比例!
- fitXY:控制图片完全显示在ImageView上!有可能改变原来的比例!这种属性是开发中最常用的属性,因为它不会造成ImageView显示不全的问题!
- fitStart:从左上角开始绘制,保持图片原有的比例!如果图片的一边和ImageView的一边重合,那么停止绘制!
- fitEnd:从右下角开始绘制,其他同fitStart
- fitCenter:从中心点开始绘制,为scaleType的默认属性,其他同fitStart
- center:图片的中心点和ImageView的中心点重合!截取ImageView大小的图片,如果图片小于ImageView的大小,那么图片会在ImageView中心点完全显示!
- centerCrop:从中心点开始绘制,保持原有比例,以最后到达的边为基准,先到达的部分会被截取
- centerInside:和fitCenter一模一样
4.RadioButton和RadioGroup
- RadioGroup继承于LinearLayout,是一个视图组ViewGroup,并且继承了LinearLayout的属性,包括android:orientation和android:layout_weight
使用:通常用来配合RadioButton使用,作为RadioButton的容器 - RadioButton继承Button=》TextView,它是一个不可扩展的控件!并且继承了TextView的所有属性!通常写到RadioGroup中,它是单选控件,利用它的特性,在开发中,通常用于导航栏的底部!
android:button=”@null”去掉自带的小圆点
android:checked=”true”设置为选中状态!注意:一个RadioGroup中只能有一个RadioButton是选中的! - View v=getChildAt(int index) 返回指定索引的View
- int n=getChildCount() 返回数量
5.CheckBox
- CheckBox监听事件和RadioGroup的名字相同,但是导包不同
- CheckBox导入android.widget.CompoundButton.OnCheckedChangeListener
- RadioGroup导入android.widget.RadioGroup.OnCheckedChangeListener