赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 手持终端

首页 > 专业技术 > 手持终端 > Android系统的控件类及其方法
Android系统的控件类及其方法

Android系统提供了丰富华丽的控件,使设计者可以轻松实现各具特色的控件及界面效果,增强用户体验。

1.TextView类:文本框

TextView是一个典型的文本显示控件,该控件只提供了显示功能,不允许用户对文本进行编辑。在程序中,提供TextView来显示文本信息。
1)setText方法:设置文本
该方法用于设置一个TextView文本框的显示内容,可以直接赋值一个字符串,也可以通过资源Id的方式来引用,是设置文本框显示文本的最常用方法。语法格式有两种:
public final void setText(int resid)
public final void setText(CharSquence text)
其中,参数resid为文本字符串的资源id,参数text为需要设置显示的字符串。
2)append方法:追加文字
该方法用于在TextView文本框原有内容的后面再添加显示文本,常用于更改文本框显示内容的场合。基本语法有两种形式:
public final void append(CharSequence text)
public void append(CharSquence text,int start,int end)
其中,参数CharSequence为需要追加的文本内容,参数start为追加文本的起始位置,参数end为追加文本的结束位置,即text字符串的截取位置,第一个字符位置为0。示例:
TextView myTextView=null;
myTextView=(TextView)findviewById(R.id.myTextView);
myTextView.append("123456");
myTextView.append("abcdefg",2,5);
3)setTextSize方法:设置字体大小
该方法用于设置一个TextView文本框显示内容的字体,可以通过指定单位和字体数值大小,也可以直接指定sp单位的字体大小,是设置文本框显示字体大小的最常用方法。语法格式有两种:
public void setTextSize(int uint,float size)
public void setTextSize(float size)
其中,参数size为字体大小,浮点数;参数uint为字体大小的单位,Android系统中可以取值包括:
·COMPLEX_UNIT_DIP:设备独立像素,与设备有关,支持多种分辨率时使用
·COMPLEX_UNIT_IN:英寸
·COMPLEX_UNIT_MM:毫米
·COMPLEX_UNIT_PT:一个标准长度单位,1pt=1/72in,印刷业常用
·COMPLEX_UNIT_PX:像素单位,不同设备显示成果相同
·COMPLEX_UNIT_SP:比例像素单位,主要 用于文本字体的显示
示例:
myTextView.setTextSize(30);
4)setTextColor方法:设置字体颜色
该方法用于设置一个TextView文本框显示内容的字体颜色,可以通过XML文件的颜色状态列表来设置,或者直接指定颜色值,是设置文本框显示文本颜色的常用方法。语法格式有两种:
public void setTextColor(ColorStateList colors)
public void setTextColor(int color)
其中,参数colors为颜色状态列表,需要在XML文件中定义;color为颜色数值。示例:
myTextView.setTextColor(Color.RED);
5)setTypeface方法:设置字体样式:
该方法用于设置一个TextView文本框显示内容的样式,可以指定系统自带的字体,也可以使用自定义的字体,是设置文本框显示文本字体的最常用方法。语法格式有两种:
public void setTypeface(Typeface tf,int style)
public void setTypeface(Typeface tf)
其中,tf为字体类型,0表示普通,1表示sans字体,2表示serif字体,3表示monospace字体;style表示字体的样式,0表示普通,1表示粗体,2表示斜体。示例:
myTextView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD);
也可以使用外部自定义的字体文件,这个文件需要在资源文件中预定义:
setTypeface(Typeface.createFromAsset(getAssets(),"fonts/vrinda.ttf");
6)setBackgroundColor方法:设置背景颜色
该方法用于设置一个TextView文本框的背景颜色,一般通过直接设置颜色值来表示,是设置文本框背景色的最常用方法。语法格式:
puclic void setBackgroundColor(int color)
其中,参数color表示颜色数值。示例:
myTextView.setBackgroundColor(Color.WHITE);
7)setHeight方法:设置文本框高度
该方法用于设置一个TextView文本框的高度,单位是pt,一般用于设置和更改文本框大小的场合。语法格式:
public void setHeight(int pixels)
其中,参数pixels表示文本框的高度,单位pt。
8)getCurrentTextColor方法:获取当前字体颜色
该方法用户获取一个TextView文本框当前字体的颜色,其返回值是颜色的数值代码。语法格式为:
public final int getCurrentTextColor()
该方法返回值为整型,代表了颜色数值,采用RGB方式定义。常用的颜色数值为:
·Color.BLACK:对应颜色值为0xff000000(-16777216)
·Color.BLUE:对应颜色值为0xff0000ff(-16776961)
·Color.CYAN:对应颜色值为0xff00ffff(-16711681)
·Color.DKGRAY:对应颜色值为0xff444444(-12303292)
·Color.GRAY:对应颜色值为0xff888888(-7829386)
·Color.GREEN:对应颜色值为0xff00ff00(-16711936)
·Color.LTGRAY:对应颜色值为0xffcccccc(-3355444)
·Color.MAGENTA:对应颜色值为0xffff00ff(-65281)
·Color.RED:对应颜色值为0xffff0000(-65536)
·Color.TRANSPARENT:对应颜色值为0x00000000(0)
·Color.WHITE:对应颜色值为0xffffffff(-1)
·Color.YELLOW:对应颜色值为0xffffff00(-256)
9)getText方法:获取文本框内容
该方法用于获取一个TextView文本框显示的文本内容。语法格式:
public CharSequence getText()
10)getHeight方法:获取文本高度
该方法用于获取一个TextView文本框的高度,单位是pt,该方法只有在对象绘制之后才能使用,否则返回0。语法格式:
public final int getHeight()
11)getWidth方法:获取文本框宽度
该方法用于获取一个TextView文本框的宽度,单位pt,该方法只有在对象绘制之后才能使用,否则返回0。语法格式:
public final int getWidth()
12)setPadding方法:设置内边距
该方法用于设置一个TextView文本框的内边距,单位pt,显示效果相对于文字内容和文本框边缘之间留有空白。语法格式:
public void setPadding(int left,int top,int right,int bottom)
其中,left为文本框左侧内边距,top为文本框上部内边距,right为文本框右侧内边距,bottom为文本框下部内边距。
13)getPaddingLeft方法:获取文本框左侧内边距
该方法用于获取一个TextView文本框左侧内边距,返回的单位为pt。语法格式为:
public int getPaddingLeft()
14)getPaddingTop方法:获取文本框上部内边距
该方法用于获取一个TextView文本框上部内边距,返回的单位为pt。语法格式为:
public int getPaddingTop()
15)getPaddingRight方法:获取文本框右侧内边距
该方法用于获取一个TextView文本框右侧内边距,返回的单位为pt。语法格式为:
public int getPaddingRight()
16)getPaddingBottom方法:获取文本框下部内边距
该方法用于获取一个TextView文本框下部内边距,返回的单位为pt。语法格式为:
public int getPaddingBottom()
17)addTextChangedListener方法:添加文本更改监听器
该方法用于在TextView文本框添加一个文本更改监听器,主要用于监视文本框内容的改变,然后在相应的事件处理函数中执行相应的代码,典型应用是实现文本框与编辑框的文本内容同步。基本语法:
addTextChangedListener(TextWatcher watcher)
其中,参数watcher为设置的文本内容监听器。示例:
TextView myTextView=null;
TextWatcher watcher=null;
myTextView=(TextView)findviewById(R.id.myTextView);
myTextView.setText("123456");
myTextView.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable a){}
@Override
public void beforeTextChanged(CharSquence s,int start,int count,int after){}
@Override
public void onTextChanged(CharSquence s,int start,int before,int count){
Toast.makeText(getApplicationContext(),"原字符串共"+String.valueOf(before)
+"个字符;"+"从第"+String.valueOf(start)+"个字符开始更改为字符串:"
+s+";共"+String.valueOf(count)+"字符。",Toast.LENGTH_LONG).show();
}
});
myTextView.setText("12345678");

2.Button类:按钮

Button是最主要的用户与程序交互控件,允许用户定制不同的样式,也允许用户添加相应的动作处理函数。Button类中的很多方法都继承于TextView类,用法完全一致,但还有一些常用的独特的方法。
1)setOnClickListener方法:设置按钮监听器
该方法用于为按钮绑定一个监听器,用于处理当按钮按下时的动作,主要用于应用程序执行用户动作的场合,经常会使用。在使用时,用户需要重载其内部的OnClick方法,并在其中执行相应的动作。语法格式:
public void setOnClickListener(View.OnClickListener l)
示例:
final Window bg=getWindow();
OnClickListener listaner=null;
Button bt1=null;
final TextView myTextView=(TextView)findViewById(R.id.myTextView);
bt1=(Button)findViewById(R.id.button1);
bt1.setOnClickListener(listener=new OnClickListener(){
@Override
public void onClick(View v){
Resources res=getResources();
Drawable drawable=res.getDrawable(R.drawable.white);
bg.setBackgroundDrawable(drawable);
myTextView.setTextColor(Color.RED);
myTextView.setText("背景已经设置为白色!");
}
});
2)setOnLongClickListener方法:设置按钮长按监听器
该方法用于为按钮绑定一个监听器,用于处理当按钮长时间按下的动作。在使用时,用户需要重载其内部的OnLongClick方法,并在其中执行相应的动作。语法格式:
public void setOnLongClickListener(View.OnLongClickListener l)
3)setOnFocusChangeListener方法:设置焦点改变监听器
该方法用于为按钮绑定一个监听器,用于处理当按钮获得或者失去焦点时的动作。在使用时,用户需要重载其内部的OnFocusChange方法,并在其中执行相应的动作。语法格式:
public void setOnFocusChangeListener(View.OnFocusChangeListener l)
4)setOnTouchListener方法:设置触摸监听器
该方法用于为按钮绑定一个监听器,用于处理当按钮被触摸时的动作。在使用时,用户需要重载其内部的OnTouch方法,并在其中执行相应的动作。所谓触摸动作,可以是触摸按下、触摸抬起或者触摸移动。语法格式:
public void setOnTouchListener(View.OnTouchListener l)
示例:
final Button bt1=(Button)findViewById(R.id.button1);
final TextView myTextView=(TextView)findViewById(R.id.myTextView);
bt1.setOnTouchListener(new View.OnTouchListener(){
int px;
int py;
@Override
public boolean onTouch(View v,MotionEvent event){
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
px=(int)event.getX();
py=(int)event.getY();
myTextView.setText("px="+px+";py="+py);
break;
case MotionEvent.ACTION_MOVE:
//ViewGroup.LayoutParams lp=new AbsoluteLayout.LayoutParams(-2,-2,
(int)event.getRawX()-px-4,(int)event.getRawY()-py-52);
//bt1.setLayoutParams(lp);
px=(int)event.getX();
py=(int)event.getY();
myTextView.setText("当前触摸点坐标为:px="+px+",py="+py);
}
return false;
}
});
5)setPressed方法:设置按下状态
该方法用于设置按钮的状态为被按下,语法格式:
public void setPressed(boolean pressed)
其中,参数pressed表示了按钮的状态,true表示按钮被按下,false表示按未被按下。示例:
bt1.setPressed(true);
6)setClickable方法:设置按钮是否可按
该方法用于设置按钮是否可以被用户按下。如果setClickable方法之后设置了按钮监听器,那么将重新使按钮处于可按状态。语法格式:
public void setClickable(boolean clickable)
其中,参数clickable代表了按钮的状态,true表示按钮可按,false表示按钮不可按。示例:
bt1.setClickable(false);
7)setLongClickable方法:设置是否可长按
该方法用于设置按钮是否可以执行长按操作。如果setLongClickable方法之后设置了按钮监听器,那么将重新使按钮处于可长按状态。语法格式:
public void setLongClickable(boolean longClickable)
其中,参数longClickable代表了按钮的状态,true表示按钮可长按,false表示按钮不可长按。

3.EditText类:编辑框

EditText是一个典型的文本编辑控件,不仅提供信息显示功能,还允许用户输入、编辑或者选择文本,是Android中使用最广泛的信息输入接口。EditText类的很多方法都继承于TextView类,用法完全一致,但也有一些独特的方法。
1)setText方法:设置文本内容
该方法用于设置一个EditText编辑框的显示内容,可以直接赋值一个字符串,也可以通过资源Id的方式来引用。语法格式有两种:
public final void setText(int resid)
public final void setText(CharSequence text)
其中,参数resid为文本字符串的资源Id,参数text为需要设置显示的字符串。示例:
2)getText方法:获取显示内容
该方法用于获取一个EditText边界框显示的文本内容。语法格式:
public Editable getText()
3)setSelection方法:设置文本选择
该方法用于设置一个EditText编辑框哪些内容被选择,被选择的内容将以高亮显示。语法格式:
public void setSelection(int start,int stop)
其中,参数start是文本选择的起始字符,stop是文本选择的终止字符。示例:
final EditText myEditText=(EditText)findViewById(R.id.editText1);
myEditText..setText("Hello EditText!");
myEditText.setSelection(0,5);
4)setHint方法:设置提示信息
该方法用于设置一个EditTest编辑框的提示信息,当编辑框中的内容为空的时候将显示该提示信息。语法格式:
public final void setHint(CharSuquence hint)
其中,参数hint为设置的提示信息。
myEditText.setHint("请输入字符串:");
5)setOnKeyListener方法:设置按键监听器
该方法用于为EditText编辑框设置按键监听器,可以监听手机上的按键。在程序中需要重载其中的onKey方法。不同的Android手机对于同一个按键的编码可能会不一样。语法格式:
public void setOnKeyListener(View.OnKeyListener l)
示例:
Button bt1=null;
TextView myTextView=null;
bt1=(Button)findViewById(R.id.button1);
myTextView=(TextView)findViewById(R.id.myTextView);
final EditText myEditText=(EditText)findViewById(R.id.editText1);
myEditText.setText("Hello EditText!");
myEditText.setHint("请输入字符串:");
myEditText.setOnKeyListener(new View.OnKeyListener(){
@Override
public void onKey(View v,int keyCode,KeyEvent event){
Toast.makeText(getApplicationContext(),"该按键的keyCode为:"+keyCode,
Toast.LENGTH_LONG).show();
return false;
}
});

4.DatePicker类:日期选择

DatePicker是Android系统中的日期显示和选择控件,不仅提供了日期显示功能,还允许用户更改或者选择日期。Android手机中的日期设置功能就是通过调用DatePicker类来实现的。DatePicker类中的很多方法都继承于TextView类,用法完全一致,但也有一些独特的方法。
1)init方法:初始化控件
该方法用于初始化一个DatePicker日期选择控件,通过该方法可以设置初始显示的年份、月份和日数,还可以设置相应的日期更改监听器。在使用一个DatePicker时,该方法必须首先调用。语法格式:
public void init(int year,int monthOfYear,int dayOfMonth,DatePicker.OnDateChangedListener onDateChangedListener)
其中,参数year为初始年份;参数monthOfYear为初始月份,实际显示的月份是此处设置的数值加1;参数dayOfMonth为初始日数;onDateChangedListener为日期更改监听器。
2)onDateChangedListener方法:日期更改监听器
该方法用于为DatePicker日期选择控件设置日期选择监听器。当用户在界面之上更改了日期之后,将触发该监听器,此时需要重载其中的onDateChanged方法。语法格式:
public void OnDateChangedListener(OnDateChangedListener l)
示例:
DatePicker myDatePicker=(DatePicker)findViewById(R.id.datePicker1);
OnDateChangedListener onDateChangedListener=new DatePicker.onDateChangedListener(){
@Override
public void onDateChanged(DatePicker view,int year,int monthPfYear,int dayOfMonth){
Toast.makeText(getApplicationContext(),"当前日期为:"+year+"年"+(monthOfYear+1)
+"月"+dayOfMonth+"日",Toast.LENGTH_LONG).show();
}
};
myDatePicker.init(2017,1,1,onDateChangedListener);
3)updateDate方法:更新日期
该方法用于更新一个DatePicker日期选控件,通过该方法可以设置显示的年份、月份和日数。调用该方法将触发日期更改监听器。语法格式:
public void updateDate(int year,int monthOfYear,int dayOfMonth)
其中,参数year为年份;参数monthOfYear为月份,实际显示的月份是此处设置的数值加1;参数dayOfMonth为日数。示例:
myDatePicker.updateDate(2017,5,1);
4)getYear方法:获取年份
该方法用于获取一个DatePicker日期选控件所显示的年份,onDateChangedListener方法则可以自动触发。语法格式:
public int getYear()
5)getMonth方法:获取月份
该方法用于获取一个DatePicker日期选控件所显示的月份,这里获取的月份是实际显示月份减1,onDateChangedListener方法则可以自动触发。语法格式:
public int getMonth()
6)getDayOfMonth方法:获取日数
该方法用于获取一个DatePicker日期选控件所显示的日数,onDateChangedListener方法则可以自动触发。语法格式:
public int getDayOfMonth()
示例:
Button bt1=(Button)findViewById(R.id.button1);
final DatePicker myDatePicker=(DatePicker)findViewById(R.id.datePicker1);
OnDateChangedListener onDateChangedListener=null;
myDatePicker.init(2017,1,1,onDateChangedListener);
bt1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
int year,month,day;
year=myDatePicker.getYear();
month=myDatePicker.getMonth()+1;
day=myDatePicker.getDayOfMonth();
Toast.makeText(getApplicationContext(),"当前日期为:"+year+"年"+month
+"月"+day+"日",Toast.LENGTH_LONG).show();
}
};

5.TimePicker类:时间选择

TimePicker是Android系统中时间显示好选择控件,不仅提供了时间显示功能,还允许用户更改或者选择时间。TimePicker用于选择一天中时间的视图,支持24小时及上午/下午模式。Android手机中的时间设置功能就是调用了TimePicker类来实现的。
TimePicker类中的很多方法都继承于TextView类,用法完全一致,但还有其他一些独特的方法。
1)setCurrentHour方法:设置当前小时
该方法用于设置一个TimePicker时间选择控件显示的小时,语法格式:
public void setCurrentHour(Integer currentHour)
其中,参数currentHour为显示的小时数。
2)setCurrentMinute方法:设置当前分钟
该方法用于设置一个TimePicker时间选择控件显示的分钟,语法格式:
public void setCurrentMinute(Integer currentMinute)
其中,参数currentMinute为显示的分钟数,取值范围0~59之间的整数。
3)setIs24HourView方法:设置是否24小时制
该方法用于设置一个TimePicker时间选择控件是否按照24小时制进行显示,默认情况下该控件采用上午/下午模式进行显示。语法格式:
public void setIs24HourView(Boolean is24HourView)
其中,参数is24HourView为布尔型数据,true表示采用24小时制,false表示不采用24小时制。
4)setOnTimeChangedListener方法:设置时间更改监听器
该方法用于为TimePicker时间选择控件设置时间更改监听器。当用户在界面之上更改了时间之后,将触发该监听器,此时需要重载其中的onTimeChanged方法。语法格式:
public void setOnTimeChangedListener(OnDateChangedListener l)
示例:
TimePicker myTimePicker=(TimePicker)findViewById(R.id.timePicker1);
myTimePicker.setCurrentHour(16);
myTimePicker.setCurrentMinute(12);
myTimePicker.setOnTimeChangedListener(new TimePicker.onTimeChangedListener(){
@Override
public void onTimeChanged(TimePicker view,int hourOfDay,int minute){
Toast.makeText(getApplicationContext(),"当前时间为:"+hourOfDay+"点"+minute
+"分",Toast.LENGTH_LONG).show();
}
});
5)getCurrentHour方法:获取当前小时
该方法用于获取一个TimePicker时间选择控件所显示的小时,而OnTimeChangedListener方法则可以自动触发。语法格式:
public Integer getCurrentHour()
6)getCurrentMinute方法:获取当前分钟
该方法用于获取一个TimePicker时间选择控件所显示的分钟,而OnTimeChangedListener方法则可以自动触发。语法格式:
public Integer getCurrentMinute()
7)is24HourView方法:获取是否为24小时制
该方法用于获取一个TimePicker时间选择控件是否为24小时制,而OnTimeChangedListener方法则可以自动触发。语法格式:
public Boolean is24HourView()
示例:
Button bt1=(Button)findViewById(R.id.button1);
final TimePicker myTimePicker=(TimePicker)findViewById(R.id.timePicker1);
myTimePicker.setCurrentHour(16);
myTimePicker.setCurrentMinute(12);
bt1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
int hour,minute;
boolean is24v;
hour=myTimePicker.getCurrentHour();
minute=myTimePicker.getCurrentMinute();
is24v=myTimePicker.is24HourView();
if(is24v){
Toast.makeText(getApplicationContext(),"当前时间为:"+hour+"点"
+minute+"分",Toast.LENGTH_LONG).show();
}else{
if(hour<12){
Toast.makeText(getApplicationContext(),"当前时间为:上午"
+hour+"点"+minute+"分",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(),"当前时间为:下午"
+(hour-12)+"点"+minute+"分",Toast.LENGTH_LONG).show();
}
}
}
});

6.ProgressBar类:进度条

进度条主要用于显示一些操作的进度,特别是在执行一些比较耗时的操作时,以动态的效果告知用户目前的进度。ProgressBar类中的很多方法都与TextView类似,用法完全一致,也有一些不同的方法。
1)setMax方法:设置最大值
该方法用于设置一个ProgressBar进度条的最大值,默认情况下最大值为100。语法格式:
public synchronized void setMax(int max)
其中,参数max为设置的进度条最大值,此时该进度条的范围为0~max。
2)setProgress方法:设置主要进度
该方法用于设置一个ProgressBar进度条的当前主要进度值,该值应小于setMax方法设置的最大值。该方法主要用于进度显示的场合,一般放置在一个线程中,跟随所进行的操作来更新显示进度。语法格式:
public synchronized void setProgress(int progress)
其中,参数progress为设置的当前进度值。
3)setSecondaryProgress方法:设置次要进度
该方法用于设置一个ProgressBar进度条的当前次要进度值,该值应小于setMax方法设置的最大值。该方法主要用于多重进度显示的场合,,一般放置在一个线程中,跟随所进行的操作来更新显示进度。
public synchronized void setSecondaryProgress(int secondaryProgress)
其中,参数secondaryProgress为设置的当前次要进度值。
4)getMax方法:获取最大值
该方法用于获取一个ProgressBar进度条的最大值,返回值为int整型。语法格式:
public synchronized int getMax()
5)getProgress方法:获取主要进度
该方法用户获取一个ProgressBar进度条的当前主要进度值,其返回值为int整型。语法格式:
public synchronized int getProgress()
6)getSecondaryProgress方法:获取次要进度
该方法用于获取一个ProgressBar进度条的当前次要进度值,返回值为int整型,主要用于多重进度的场合。语法格式:
public synchronized int getSecondaryProgress()
示例:
Button bt1=(Button)findViewById(R.id.button1);
final ProgressBar mbr=(ProgressBar)findViewById(R.id.progressBar1);
mbar.setMax(200);
mbar.setProgress(150);
mbar.setSecondaryProgress(180);
bt1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(getApplicationContext(),"进度条的最大值为"+mbar.getMax()
+",当前主要进度为"+mbar.getProgress()+",当前次要进度为"
+mbar.getSecondaryProgress(),Toast.LENGTH_LONG).show();
}
});

7.SeekBar类:滑块

SeekBar是Android系统中的滑块控件,主要用于接收用户输入,能简化输入操作,直观改变用户输入值。Android手机中,音量调节、屏幕亮度调节都使用SeekBar滑块。SeekBar类继承于ProgressBar类,很多方法完全一致,但有一个setOnSeekBarChangeListener方法。
该方法用于设置一个SeekBar类滑块监听器,在该监听器内可以监听滑块的移动,同时提供用户在SeekBar上开始和停止触摸手势时的通知。语法格式:
public void setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener l)
示例:
SeekBar mSeekBar=(SeekBar)findViewById(R.id.seekBar1);
final EditText mEditText=(EditText)findViewById(R.id.editText1);
mSeekBar.setMax(200);
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
@Override
public void onStopTrackingTouch(SeekBar seekBar){
Toast.makeText(getApplicationContext(),"停止更改",
Toast.LENGTH_LONG) .show();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar){
Toast.makeText(getApplicationContext(),"开始更改",
Toast.LENGTH_LONG) .show();
}
@Override
public void onProgressChanged(SeekBar seekBar,int progress,boolean fromUser){
mEditText.setText("滑块的当前值为"+progress);
}
});

8.RatingBar类:星级滑块

RatingBar是Android系统中非常有特色的星级滑块,是SeekBar和ProgressBar的扩展,通常需要对某个东西进行等级判定的场合。RatingBar有两种风格,小风格ratingBarStyleSmall,大风格ratingBarStyleIndicator。当使用小风格时,用户可以触摸/拖动或使用键来设置等级评分;当使用大风格时,则只能用于显示等级,不能接受用户的输入。
1)setMax方法:设置最大值
该方法用于设置一个RatingBar星级滑块的最大值,评分等级的范围为0~max。语法格式:
public synchronized void setMax(int max)
其中,参数max为设置的星级滑块最大值。
2)setNumStars方法:设置星形数量
该方法用于设置一个RatingBar星级滑块的星形数量。为了能够正常显示,建议将当前控件的布局宽度设置为wrap content。语法格式:
public void setNumStars(int numStars)
其中,参数numStars为设置的星形显示数量。
3)setRating方法:设置分数
该方法用于设置一个RatingBar星级滑块的显示分数,也就是获得的星形数量。语法格式:
public void setRating(float rating)
其中,参数rating为设置的分数,浮点型数据。
4)setStepSize方法:设置步长
该方法用于设置一个RatingBar星级滑块的步长,也就是每次更改的最小长度。如果每次可以更改半个星星,需要设为0.5,。语法格式:
public void setStepSize(float stepSize)
其中,参数stepSize为设置的步长,浮点型数据。
5)getNumStars方法:获取星星数量
该方法用于获取一个RatingBar星级滑块的星星数量,返回值为int整型。语法格式:
public int getNumStars()
6)getRating方法:获取分数
该方法用于获取一个RatingBar星级滑块显示的评分,返回值为float浮点型。语法格式:
public float getRating()
7)getStepSize方法:获取步长
该方法用于获取一个RatingBar星级滑块的评分步长,返回值为float浮点型。语法格式:
public float getStepSize()
8)setOnRatingBarChangeListener方法:设置监听器
该方法用于设置一个RatingBar星级滑块的监听器。当用户更改了星级模块之后,将触发该监听器,这是获知星级变化的主要方法。语法格式:
public void setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener listener)
示例:
RatingBar mRating=(RatingBar)findViewById(R.id.ratingBar1);
mRating.setNumStars(5);
mRating.setStepSize((float)0.5);
mRating.setRating((float)3.5);
mRating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){
@Override
public void onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser){
Toast.makeText(getApplicationContext(),"分数等级为"+mRating.getRating()+
",总星级为"+mRating.getNumStars(),Toast.LENGTH_LONG) .show();
}
});
9)setIsIndicator方法:设置指示器
该方法用于设置一个RatingBar星级滑块为指示器,此时用户只能查看评分信息,而无法对该控件进行修改。语法格式:
public void setIsIndicator(boolean isIndicator)
其中,参数isIndicator表示是否为一个指示器,true表示是一个指示器,false表示不是一个指示器。
10)isIndicator方法:判断是否为指示器
该方法用于判断一个RatingBar星级滑块是否为指示器,也就是判断是否可以接收用户的输入。语法格式:
public boolean isIndicator()
其中,如果返回值为true表示是一个指示器,false表示不是一个指示器。

9.ToggleButton类:状态开关按钮

ToggleButton是Android系统中的一个开关按钮,其通过一个带有亮度指示条的按钮来表示两种状态,可以是ON/OFF,也可以是选中/未选中状态。ToggleButton类继承于Button类,很多方法都类似,也有一些特有的方法。
1)setTextOff方法:设置未选中时的文本
该方法用于设置一个ToggleButton状态开关未选中时显示的文本,首次使用状态开关按钮时需要设置该内容。语法格式:
public void setTextOff(CharSequence textOff)
其中,参数textOff为字符串,也可以引用字符串资源。
2)setTextOn方法:设置选中时的文本
该方法用于设置一个ToggleButton状态开关按钮选中时显示的文本,在首次使用状态开关按钮时需要设置该内容。语法格式:
public void setTextOn(CharSequence textOn)
其中,参数textOn为字符串,也可以引用字符串资源。
3)setChecked方法:设置按钮状态
该方法用于设置一个ToggleButton状态开关按钮的状态,是选中还是不选中,这是程序改变ToggleButton状态开关按钮的主要方法。语法格式:
public void setChecked(boolean checked)
其中,参数checked为按钮状态,true表示选中,false表示未选中。示例:
ToggleButton myToggleButton=(ToggleButton)findViewById(R.id.toggleButton1);
myToggleButton.setTextOff("关闭");
myToggleButton.setTextOn("打开");
myToggleButton.setChecked(true);
4)setBackgroundDrawable方法:设置背景
该方法用于设置一个ToggleButton状态开关按钮的背景,可以指定相应的显示图片资源。语法格式:
public void setBackgroundDrawable(Drawable d)
其中,参数d为图片资源。示例:
myToggleButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.icon));
5)getTextOff方法:获取未选中时的文本
该方法用于获取一个ToggleButton状态开关在未选中时显示的文本,其返回值为字符串。语法格式:
public CharSequence getTextOff()
6)getTextOn方法:获取选中时的文本
该方法用于获取一个ToggleButton状态开关按钮在选中时显示的文本,其返回值为字符串。语法格式:
public CharSequence getTextOn()
7)setOnCheckedChangeListener方法:设置监听器
该方法用于设置一个ToggleButton状态开关按钮的监听器,当按钮的状态改变时将触发该监听器。该方法是获知ToggleButton状态改变的主要方法。语法格式:
public void setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener listener)
示例:
final ImageView imageView=(ImageView)findViewById(R.id.imageView1);
ToggleButton myToggleButton=(ToggleButton)findViewById(R.id.toggleButton1);
myToggleButton.setTextOff("关闭");
myToggleButton.setTextOn("打开");
myToggleButton.setChecked(true);
myToggleButton.setOnCheckedChangeListener
(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
if(isChecked){
imageView.setImageResource(R.drawable.bulb_on);
}else{
imageView.setImageResource(R.drawable.bulb_off);
}
}
});

10.Toast类:弹出信息框

Toast用于简短的提示信息,采用浮于应用程序之上的形式呈现给用户。Toast视图并不获得焦点,不影响用户输入。
1)cancel方法:关闭Toast视图
该方法用于关闭Toast视图。如果Toast视图已经显示则将其关闭,还没有显示则不再显示。一般情况下不需要调用该方法,正常情况下视图会在超过存续期间后消失。语法格式:
public void cancel()
2)getDuration方法:获取持续时间
该方法用于获取Toast视图显示的持续时间,通常在获取Toast视图的持续时间后根据需要进行修改。该方法的返回值为int类型,取值有LENGTH_LONG和LENGTH_SHORT(默认)两种值,分别表示较长和较短的持续时间。语法格式:
public int getDuration()
3)getGravity方法:获取Toast视图的显示位置
该方法用于获取Toast视图的提示信息在屏幕上的显示位置。该方法返回值为int类型,为Android内置的Gravity标准常量,有如下取值:
·BOTTOM:底部,常量值为80(0x00000050)
·CENTER:水平方向和垂直方法的中部,常量值17(0x00000017)
·CENTER_HORIZONTAL:水平方向的中部,常量值1(0x00000001)
·CENTER_VERTICAL:垂直方向的中部,常量值16(0x00000010)
·LEFT:左部,常量值3(0x00000003)
·RIGHT:右部,常量值5(0x00000005)
·TOP:顶部,常量值48(0x00000030)
返回值可以为多个Gravity常量的组合,如81表示Toast视图位于屏幕的底部及水平方向的中部。语法格式:
public int getGravity()
4)getHorizontalMargin方法:获取水平方向的页边空白
该方法用于获取Toast视图的提示信息在屏幕水平方向的页边空白。该方法的返回值为float类型,是容器的边缘与提示信息的横向空白(与容器宽度的比)。语法格式:
public float getHorizontalMargin()
5)getVerticalMargin方法:获取垂直方向的页边空白
该方法用于获取Toast视图的提示信息在屏幕垂直方向的页边空白。该方法的返回值为float类型,是容器的边缘与提示信息的纵向空白(与容器宽度的比)。语法格式:
public float getHorizontalMargin()
6)makeText方法:生成标准Toast对象
该方法用于生成一个包含文本视图的标准Toast对象,通过该方法可以设置Toast视图的文本提示内容及持续时间。语法格式:
public static Toast makeText(Context context,CharSequence text,int duration)
其中,context为使用的上下文,通常是应用程序或者Activity对象;参数text为要显示的文本,是已经格式化的文本,也可以通过字符串资源Id来引用;参数duration为持续时间,可以取值为Toast.LENGTH_SHORT或Toast.LENGTH_LONG。示例:
Toast.makeText(getApplicationContext(),"提示信息",Toast.LENGTH_SHORT).show();
7)setView方法:设置显示的View对象
该方法用于设置Toast视图中要显示的View对象。该方法可以灵活地用来显示自定义的Toast视图,其中可以包含图片、文字等。语法格式:
public void setView(View view)
其中,view为需要显示的View对象。示例:
Toast toast=new Toast(getApplicationContext());
ImageView view=new ImageView(getApplicationContext());
view.setImageResource(R.drawable.icon);
toast.setView(view);
toast.show();
8)getView方法:获取View对象
该方法用于获取一个Toast视图的View对象,通常用于一些用户自定义风格的Toast视图显示中。该方法的返回值为View类型的对象。语法格式:
public View getView()
示例:
Toast toast=Toast.makeText(getApplicationContext(),"图文显示",Toast.LENGTH_LONG);
LinearLayout mLayout=new LinearLayout(getApplicationContext());
mLayout.setOrientation(LinearLayout.HORIZONTAL);
ImageView mImage=new ImageView(getApplicationContext());
mImage.setImageResource(R.drawable.icon);
View toastView=toast.getView();
mLayout.addView(mImage);
mLayout.addView(toastView);
toast.setView(mLayout);
toast.show();
9)setGravity方法:设置显示位置
该方法用于设置提示信息在手机屏幕上的显示位置。语法格式:
public void setGravity(int gravity,int xOffset,int yOffset)
其中,参数gravity为Android内置的Gravity标准常量;参数xOffset表示Toast视图在x方向上的偏移,大于0右移,小于0左移;参数yOffset表示Toast在y方向上的偏移,大于0下移,小于0上移。示例:
toast.setGravity(Gravity.CENTER_VERTICAL,0,0);
10)getXOffset方法:获取水平方向偏移量
该方法用于获取Toast视图相对于参照位置的水平方向(x方向)偏移像素量,返回值为int整型。语法格式:
public int getXOffset()
11)getYOffset方法:获取垂直方向偏移量
该方法用于获取Toast视图相对于参照位置的垂直方向(y方向)偏移像素量,返回值为int整型。语法格式:
public int getYOffset()
12)setDuration方法:设置持续时间
该方法用于设置Toast视图显示的持续时间。语法格式:
public void setDuration(int duration)
其中,参数duration为Toast视图的持续时间,有LENGTH_LONG和LENGTH_SHORT两种取值。
13)setMargin方法:设置页边空白
该方法用于设置Toast视图提示信息的页边空白。语法格式:
public void setMargin(float horizontalMargin,float verticalMargin)
其中,参数horizontalMargin为水平方向的页边空白,是容器的边缘与提示信息的横向空白(与容器宽度的比);verticalMargin为垂直方法的页边空白,是容器的边缘与提示信息的纵向空白(与容器宽度的比)。示例:
msg1.setMargin(-0.2f,0.2f);
14)setText方法:设置显示的文本内容
该方法用于设置Toast视图提示信息显示的文本内容。语法格式:
public void setText(CharSequence s)
其中,参数s为Toast视图提示信息显示的文本内容,也可以通过引用字符串资源Id来表示。
15)show方法:显示提示信息
该方法用于按照指定的设置来显示Toast视图提示信息。语法格式:
public void show()

11.CheckBox类:复选框

CheckBox是Android系统中的复选框控件,这种控件具有双状态,可以选中或不选中。CheckBox类中的很多方法都继承于TextView类,用法完全一致,但也有一些特有的方法。
1)isChecked方法:是否选中
该方法用于检查一个CheckBox复选框是否被选中。如果被选中返回true,否则返回false,该方法常用于获取有多少选中项时。语法格式:
public abstract boolean isChecked()
2)setChecked方法:设置复选框状态
该方法用于设置一个CheckBox复选框是否被选中。语法格式:
public abstract void setChecked(boolean checked)
其中,参数checked为复选框的状态,true表示选中,false表示不选中。
3)toggle方法:切换状态
该方法用于更改一个CheckBox复选框的状态。如果该复选框为选中,则将更改为未选中;如果该复选框未选中,则将更改为选中。语法格式:
public abstract void toggle()
示例:
final CheckBox CB1=(CheckBox)findViewById(R.id.checkBox1);
final CheckBox CB2=(CheckBox)findViewById(R.id.checkBox2);
final CheckBox CB3=(CheckBox)findViewById(R.id.checkBox3);
final CheckBox CB4=(CheckBox)findViewById(R.id.checkBox4);
Button bt=(Button)findViewById(R.id.button1);
CB2.setChecked(true);
bt.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
String str="你选择的食物为:";
CB1.toggle();
CB2.toggle();
CB3.toggle();
CB4.toggle();
if(CB1.isChecked()) str=str+CB1.getText();
if(CB1.isChecked()) str=str+CB2.getText();
if(CB1.isChecked()) str=str+CB3.getText();
if(CB1.isChecked()) str=str+CB4.getText();
Toast.makeText(getApplicationContext(),str,Toast.LENGTH_LONG).show();
}
});
4)setOnCheckedChangeListener方法:设置监听器
该方法用于设置一个CheckBox复选框的监听器,当按钮的状态改变时,将触发该监听器。该方法是获知CheckBox复选框状态改变的主要方法。语法格式:
public void setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener listener)
示例:
final CheckBox CB1=(CheckBox)findViewById(R.id.checkBox1);
final CheckBox CB2=(CheckBox)findViewById(R.id.checkBox2);
final CheckBox CB3=(CheckBox)findViewById(R.id.checkBox3);
final CheckBox CB4=(CheckBox)findViewById(R.id.checkBox4);
Button bt=(Button)findViewById(R.id.button1);
CB1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
if(isChecked)
Toast.makeText(getApplicationContext(),CB1.getText()+"被选中",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),CB1.getText()+"被取消",
Toast.LENGTH_LONG).show();
}
});
......

12.RadioButton类和RadioGroup类:单选框

RadioButton是Android系统中的单选按钮,它是一种双状态按钮,可以为选中或不选中。RadioButton往往需要与RadioGroup单选组一起来使用。实际应用中,RadioGroup之内的所有RadioButton每次只能有一个被选中。RadioButton类中的很多方法与TextView类和CheckBox类中的方法相同,但也有一些特有的方法。
1)check方法:选中选项
该方法用于设置一个RadioGroup单选组中某个单选按钮的选中状态。当指定的RadioButton单选按钮被选中后,之前选中的按钮将被取消选中。语法格式:
public void check(int id)
其中,参数id为RadioButton单选按钮的Id。
2)clearCheck方法:清空选项
该方法用于清空一个RadioGroup单选组的选项状态,此时其中的任何一个RadioButton都处于未选中状态。语法格式:
public void clearCheck()
3)setOnCheckedChangeListener方法:设置监听器
该方法用于设置一个RadioGroup单选组的监听器,当其中的单选按钮状态改变时,将触发该监听器。语法格式:
public void setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener listener)
示例:
RadioGroup group=(RadioGroup)findViewById(R.id.radioGroup1);
final RadioButton CB1=(RadioButton)findViewById(R.id.radio0);
final RadioButton CB2=(RadioButton)findViewById(R.id.radio1);
final RadioButton CB3=(RadioButton)findViewById(R.id.radio2);
final RadioButton CB4=(RadioButton)findViewById(R.id.radio3);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group,int checkedId){
String str="";
if(checkedId==CB1.getId())  
str=(String)CB1.getText();
else if(checkId==CB2.getId())
str=(String)CB2.getText();
else if(checkId==CB3.getId())
str=(String)CB3.getText();
else if(checkId==CB4.getId())
str=(String)CB4.getText();
Toast.makeText(getApplicationContext(),"你最喜欢的食物为:",
Toast.LENGTH_LONG).show();
}
});

13.ImageView类:图片

ImageView是Android中的图片显示控件,可以为其指定图片Id、Drawable对象或者来自Content Provider的Url,是个性化用户界面设计的主要方法。
1)setImageResource方法:设置图片资源
该方法用于为ImageView图片控件设置图片资源,该资源以指定Id的形式来表示,这是设置图片显示的一个主要方法。使用时,先将图片资源保存在res文件夹下,并赋予Id,然后就可以在程序中使用了。语法格式:
public void setImageResource(int resId)
其中,参数resId为图片资源的Id。示例:
ImageView image=(ImageView)findViewById(R.id.imageView1);
image.setImageResource(R.drawable.bulb_on);
2)setImageDrawable方法:设置Drawable图片资源
该方法用于为ImageView图片控件设置图片资源,是设置显示图片的一个主要方法。语法格式:
public void setImageDrawable(Drawable drawable)
示例:
ImageView image=(ImageView)findViewById(R.id.imageView1);
image.setImageDrawable(getResources().getDrawable(R.drawable.bulb_off));
3)setAlpha方法:设置透明度
该方法用于为ImageView图片控件设置图片透明度。该方法针对图片资源本身,如果两个ImageView对象显示的是同一个图片资源,设置其中一个ImageView对象的透明度,另外一个会有相同效果。语法格式:
public void setAlpha(int alpha)
其中,参数alpha为透明度,取值范围0~255,255为不透明。示例:
image.setAlpha(100);
4)setScaleType方法:设置填充方式
该方法用于为ImageView图片控件设置图片填充方式,主要用在图片空间的尺寸与图片尺寸不一致的时候。通过指定不同的填充方式,可以实现各种各样的显示效果。语法格式:
public void setScaleType(ImageView.ScaleType scaleType)
其中,参数scaleType为填充方法,在Android系统中提供了如下填充方法:
·ScaleType.CENTER:按原图大小显示图片,但图片宽高大于控件宽高时,截图图片中间部分显示
·ScaleType.CENTER_CROP:按比例放大原图,直至某边等于控件的宽或高
·ScaleType.CENTER_INSIDE:当原图宽高等于控件宽高时,按原图大小居中显示,否则将原图缩放至控件的宽高居中显示
·ScaleType.FIT_CENTER:按比例拉伸图片,拉伸后图片的高度为控件高度,且显示在该控件的中间
·ScaleType.FIT_END:按比例拉伸图片,拉伸后图片的高度为控件高度,且显示在该控件的右边
·ScaleType.FIT_START:按比例拉伸图片,拉伸后图片的高度为控件高度,且显示在该控件的左边
·ScaleType.FIT_XY:拉伸图片,不按比例,以填充控件的宽高
·ScaleType.MATRIX:按照指定的参数拉伸图片以填充控件
示例:
image.setScaleType(ScaleType.FIT_END);
5)getDrawable方法:获取Drawable对象
该方法用于获取ImageView图片控件的Drawable对象,返回值为Drawable类型,可以为其他图片或者Drawable对象赋值。语法格式:
public Drawable getDrawable()
6)getScaleType方法:获取填充方法
该方法用于获取ImageView图片控件的填充方式。语法格式:
public ImageView.ScaleType getScaleType()

14.Spinner类:下拉列表

Spinner是Android系统提供的下拉列表控件,该控件每次只能选择所有项的一项,使用之前需要为该控件设置容纳可选数据的适配器。
1)setAdapter方法:设置适配器
该方法用于为Spinner下拉列表设置适配器,也就是为Spinner提供一个数据源。在使用Spinner下拉列表时,必须首先为其提供可选数据源,然后才可供用户进行选择。该方法是使用Spinner下拉列表的最主要方法。语法格式:
public void setAdapter(SpinnerAdapter adapter)
其中,参数adapter为数据适配器,使用时必须先初始化适配器。
2)setPrompt方法:设置标题
该方法用于为Spinner下拉列表设置标题,这不是使用下拉列表必需的步骤。语法格式:
public void setPrompt(CharSequence prompt)
其中,参数prompt为字符串,也就是Spinner下拉列表中显示的标题内容。示例:
s1.setPrompt("请选择你最喜欢定居的国家");
3)setPromptId方法:指定标题Id
该方法用于为Spinner下拉列表设置标题,通过指定字符串Id的形式设置Spinner下拉列表标题,这是设置标题的第二种方法,推荐采用这种方法,在支持多种语言的场合很有用。语法格式:
public void setPromptId(int promptId)
其中,参数promptId为字符串Id,指向Spinner下拉列表中显示的标题内容。
4)getPrompt方法:获取标题
该方法用于获取Spinner下拉列表设置标题,其返回值为标题字符串内容。语法格式:
public CharSequence getPrompt()
5)setOnItemSelectedListener方法:设置监听器
该方法用于设置Spinner下拉列表的监听器,当用户选择一个项目之后便会触发该监听器。语法格式:
public void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener)
示例:
Button bt1=(Button)findViewById(R.id.button1);
Spinner s1=(Spinner)findViewById(R.id.spinner1);
String[] mCountries={"中国","美国","英国","德国","俄罗斯","澳大利亚"};
ArrayList<String> allcountries=new ArrayList<String>();
for(int i=0;i<mCountries.length;i++){
allcountries.add(mCountries[i]);
}
ArrayAdapter<String> aspnCountries=new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,allcountries);
aspnCountries.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(aspnCountries);
s1.setPromptId(R.string.prompt);
s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onOnItemSelected(AdapterView<?> arg0,View arg1,int arg2,long arg3){
Toast.makeText(spinnertest.this,"你选择的为:"
+arg0.getItemAtPosition(arg2).toString(),Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0){
Toast.makeText(spinnertest.this,"你没有选择任何选项!",
Toast.LENGTH_LONG).show();
}
});
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(getApplicationContext(),"Spinner标题为:"
+s1getPrompt(),Toast.LENGTH_LONG).show();
}
});

15.AutoCompleteTextView类:自动完成文本框

AutoCompleteTextView是Android系统中独具特色的自动完成文本框,外观与普通的EditText完全相同,但当用户输入字符的时候,会根据输入的字符出现匹配的下拉菜单项,供用户选择。这种自动完成文本框可以减少用户的输入,用户只需点击匹配的可选项即可完成输入。
AutoCompleteTextView类继承了EditText类,很多方法都类似,也有一些特有的方法。
1)setAdapter方法:设置适配器
该方法用于为AutoCompleteTextView自动完成文本框设置适配器,也就是提供一个数据源。在使用AutoCompleteTextView自动完成文本框时,必须首先为其提供可选数据源,然后才可供用户进行选择。该方法是使用AutoCompleteTextView自动完成文本框的最主要方法。语法格式:
public void setAdapter(T adapter)
其中,参数adapter为数据适配器,使用时必须先初始化适配器。示例:
String[] str={"China","Chile","Brazil","Beijing","Berlin","Poland","Paris"};
AutoCompleteTextView autotext=(AutoCompleteTextView)findViewById
(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_dropdowm_item_1line,str);
autotext.setAdapter(adapter);
2)setThreshold方法:设置匹配字符数
该方法用于为AutoCompleteTextView自动完成文本框设置匹配字符数。当用户输入到指定的字符数的时候,才开始在适配器中寻找匹配的项目。该方法可以简化匹配的项目,防止出现过多无关的项目。语法格式:
public void setThreshold(int threshold)
其中,参数threshold为匹配字符数。
3)setCompletionHint方法:设置提示信息
该方法用于为AutoCompleteTextView自动完成文本框设置提示信息。当与用户输入的字符具有匹配项时,显示匹配项,并显示该提示信息,以提示用户。语法格式:
public void setCompletionHint(CharSequence hint)
其中,参数hint为字符串提示信息。示例:
autotext.setCompletionHint("单击选择符合的一项");
4)setDropDownBackgroundResource方法:设置背景资源
该方法用于为AutoCompleteTextView自动完成文本框设置背景资源,该资源以指定Id的形式表示。使用时,先将图片资源保存在res文件夹下,并赋予Id,然后就可以在程序中使用了。语法格式:
public void setDropDownBackgroundResource(int id)
其中,参数id为背景图片的Id。示例:
autotext.setDropDownBackgroundResource(R.drawable.yellow);
5)setDropDownBackgroundDrawable方法:设置Drawable背景资源
该方法用于为AutoCompleteTextView自动完成文本框设置背景资源,该资源是为指定的Drawable。这是另外一种设置背景资源的方法。语法格式:
public void setDropDownBackgroundDrawable(Drawable d)
其中,参数d为Drawable背景资源。示例:
autotext.setDropDownBackgroundDrawable(getResources().getDrawable(R.drawable.yellow));
6)setDropDownWidth方法:设置宽度
该方法用于设置AutoCompleteTextView自动完成文本框的宽度,以屏幕像素为单位。该方法经常与setDropDownHeight一起使用。语法格式:
public void setDropDownWidth(int width)
其中,参数width为自动完成文本框的宽度。
7)setDropDownHeight方法:设置高度
该方法用于设置AutoCompleteTextView自动完成文本框的高度,以屏幕像素为单位。该方法经常与setDropDownWidth一起使用。语法格式:
public void setDropDownHeight(int height)
其中,参数height为自动完成文本框的高度。
8)getThreshold方法:获取匹配字符数
该方法用于获取AutoCompleteTextView自动完成文本框的匹配字符数,返回值为int整型。语法格式:
public int getThreshold()
9)getDropDownWidth方法:获取宽度
该方法用于获取AutoCompleteTextView自动完成文本框的宽度,返回值为int整型。该方法经常与getDropDownHeight方法一起使用。语法格式:
public int getDropDownWidth()
10)getDropDownHeight方法:获取高度
该方法用于获取AutoCompleteTextView自动完成文本框的高度,返回值是int整型。该方法经常与getDropDownWidth方法一起使用。语法格式:
public int getDropDownHeight()
11)setOnItemClickListener方法:设置监听器
该方法用于设置AutoCompleteTextView自动完成文本框的监听器。当用户点击一个项目后,便会触发该监听器。语法格式:
public void setOnItemClickListener(AdapterView.OnItemClickListener l)
示例:
String[] str={"China","Chile","Brazil","Beijing","Berlin","Poland","Paris"};
AutoCompleteTextView autotext=(AutoCompleteTextView)findViewById
(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_dropdowm_item_1line,str);
autotext.setAdapter(adapter);
autotext.setThreshold(1);
autotext.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3){
Toast.makeText(getApplicationContext(),"你选择的为:"
+arg0.getItemAtPosition(arg2).toString(),Toast.LENGTH_LONG).show();
}
});

16.Gallery类:画廊

Gallery是Android系统中的画廊控件,很华丽,支持滑动操作,相对于一个水平滚动的图片列表,主要用于相册、图片浏览和选择等功能的应用程序中。
1)setAdapter方法:设置适配器
该方法用于为Gallery画廊设置适配器,也就是为Gallery提供一个数据源。在使用Gallery画廊时,必须首先为其提供可选数据源,然后才可供用户进行操作。这是使用Gallery画廊的最主要方法。语法格式:
public void setAdapter(SpinnerAdapter adapter)
其中,参数adapter为数据适配器,使用前必须先初始化适配器。示例:
final int[] images={R.drawable.bulb_on,R.drawable.bulb_off,R.drawable.icon,
R.drawable.white,R.drawable.yellow};
final Gallery g1=(Gallery)findViewById (R.id.gallery1);
BaseAdapter adapter=new BaseAdapter(){
@Override
public int getCount(){
return images.length;
}
@Override
public Object getItem(int position){
return null;
}
@Override
public long getItemId(int position){
return 0;
}
@Override
public View getView(int position,View convertView,ViewGroup parent){
ImageView iv=new ImageView(firstActivity.this);
iv.setImageResource(images[position]);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
iv.setLayoutParams(new Gallery.LayoutParams(230,300));
return iv;
}
};
g1.setAdapter(adapter);
2)setSpacing方法:设置图片间距
该方法用于设置Gallery画廊中各个图片之间的间距。通过适当设置间距,可以防止图片的堆叠,美化界面效果。语法格式:
public void setSpacing(int spacing)
其中,参数spacing为图片之间的间距,以像素为单位。示例:
g1.setSpacing(60);
3)setGravity方法:设置图片对齐方式
该方法用于设置Gallery画廊中图片的对齐方式,可以通过Gravity中的常量来指定。语法格式:
public void setGravity(int gravity)
其中,参数gravity为图片对齐方式,在程序中可以通过引用Gravity常量来表示。示例:
g1.setGravity(Gravity.CENTER);
4)setAnimationDuration方法:设置动画切换时间
该方法用于设置Gallery画廊中图片的切换时间,仅限于动画开始时生效。语法格式:
g1.setAnimationDuration(100);
5)setOnItemClickListener方法:设置监听器
该方法用于设置Gallery画廊监听器。当用户选择点击某张图片之后,便会触发该监听器,这是感知用户选择的主要方法。语法格式:
public void setOnItemClickListener(AdapterView.OnItemClickListener listener)
示例:
g1.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0,view arg1,int arg2,long arg3){
Toast.makeText(getApplicationContext(),"你选择的为第"+arg2+"张照片",
Toast.LENGTH_LONG).show();
}
});

 

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659