android-常用控件-<四>
http://www.cnblogs.com/linjiqin/category/284058.html
1.TextView
在android中,文本控件主要包括TextView控件和EditView控件,本节先对TextView控件的用法进行详细介绍。
TextView类继承自View类,TextView控件的功能是向用户显示文本的内容,但不允许编辑,而其子类EditView允许用户进行编辑。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00ff00" android:text="00ff00" android:textSize="15pt" />
2.EditText
EditView类继承自TextView类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,
同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。
3.CheckBox,RadioButton
CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,
需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态。
注意:注册监听时,两者的监听器是不同的
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener());//这是RadioGroup的
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener());//这是CheckBox的
4.ToggleButton
ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。
<ToggleButton android:id="@+id/tb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="on" android:textOff="off" />
5.ImageView
ImageView控件是一个图片控件,负责显示图片。
<ImageView android:id="@+id/iv" android:src="@drawable/qq" android:layout_width="wrap_content" android:layout_height="wrap_content" />
6.AutoCompleteTextView ,MultiAutoCompleteTextView
在Android中提供了两种智能输入框,它们是AutoCompleteTextView、MultiAutoCompleteTextView。
它们的功能大致一样。显示效果像Google搜索一样,当你在搜索框里输入一些字符时(至少两个字符),
会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。
7.ScrollView
它是一种布局,像线性布局一样,ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,
需要通过滚动跳来显示的视图。ScrollView只支持垂直滚动。
8.ListView
ListActivity继承了Activity,可以采用继承ListActivity而不是Activity。它可以提供
ListView里Item的监听方法,方便用户点击Item时,程序作出响应。
ListView它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。
a.继承ListActivity,调用ListActivity类的setListAdapter方法。并在main.xml文件下添加
<ListView android:id="@id/android:list"/>如下
b.继承Activity,在main.xml文件下添加 <ListView android:id="@+id/mlv">。
再到onCreate方法中找到该ListView, mlv=(ListView)findViewById(R.id.mlv);mlv.setAdapter(la);//调用ListView的setAdapter方法
9.ProgressBar,Handler
ProgressBar是显示进度的进度条控件,它不同的显示风格,有圆形的,有水平柱型的(该类型,默认用0~100来表示进度)。
Handler是用来处理进程信息(Message),在一个被提供的线程(Thread)里。
注意:Handler类下的所有方法都无法启动一个新的线程,即它的post方法只是调用指定的Thread的run方法而已。
Handler构造方法(常用):
Handler(Looper looper);//looper是为该handler提供一个线程来处理它的Message
//用HandlerThread启动(start)一个线程, //在通过getLooper方法,传入Handler构造方法里 //这样就实现了,为Handler提供一个独立线程处理它的Message HandlerThread ht=new HandlerThread("ht-demo"); ht.start(); Handler hd=new Handler(ht.getLooper()); //获取Message,它可以携带各种信息,如int,object等等信息 Message ms=hd.obtainMessage(); ms.arg1=10; //向Handler传入信息msg hd.sendMessage(ms); //在发送信息后,它就会自动调用它的handleMessage方法处理信息(异步处理)