1.常用Android控件最终都会继承自View类
2.ViewGroup是一些布局类列表的基类,包括View和ViewGroup
3.构造界面的三种方法
a.完全使用代码(太灵活,而不好维护)
b.在xml文件中定义(不太灵活)
c.结合两种方法,在xml文件中定义静态部份,在代码中实现灵活部分
4.定义
视图、部件、控件:表示一种用户界面元素
容器:包含视图的视图。例如网格,网格中的每一个单元格是一个视图
布局:容器和视图的可视排列,可以包含其他布局。
5.文本控件
a.TextView,比较有用属性“autolink",可以根据内容的形式,可以把内容作为参数来调用相应的活动,比如电话号码,可以直接点击然后进入打电话应用。
实现形式有3种
1.xml
<TextView .... android:autolink="email|web" .../>
2.使用TextView的setAutoLink方法
tv.setAutoLink(Linkfy.ALL); //这种方法要求内容在这个方法后面设置
3.使用Linkfy类的addLinks方法
Linkfy.addLinks(TextView的实例,Linkfy.ALL);
b.EditText重要属性inputType可以设置(多行、检查拼写错误、首字母大写...); hint属性显示提示内容
c.AutoCompleteTextView可以自动补齐输入的内容
AutoCompleteTextView actv = (AutoCompleteTextView)findViewById(R.id. actv);
ArrayAdapter<String> autoWord = new ArrayAdapter<String>(this,
android.R.layout. simple_dropdown_item_1line,
new String[]{"chendu" ,"shanghai" ,"wuhan" ,"Greek" });
actv.setAdapter(autoWord);//设置补齐的内容
d.MultiAutoCompleteView 可以设置从什么地方开始启用补齐功能
MultiAutoCompleteTextView mautoWord = (MultiAutoCompleteTextView)findViewById(R.id.mactv);
ArrayAdapter<String> autoMWord = new ArrayAdapter<String>(this,
android.R.layout. simple_dropdown_item_1line,
new String[]{"chendu" ,"shanghai" ,"wuhan" ,"Greek" ,"shuzhou" });
mautoWord.setAdapter(autoMWord);
//设置每当遇到逗号就启用补齐功能
mautoWord.setTokenizer( new MultiAutoCompleteTextView.CommaTokenizer());
6.按钮控件,包括基本按钮,图像按钮,切换按钮
6.1可以在xml中和代码中设置处理方法
xml中实现
android:onClick ="SaveItem"/>
代码中实现
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse( "http://www.baidu.com"));
startActivity(intent);
}
});
6.2图像按钮设置图像
xml:
<ImageButton
android:id="@+id/imageBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/a1"
/>
代码:
ImageButton imBtn = (ImageButton)findViewById(R.id. imageBtn2);
imBtn.setImageResource(R.drawable. m2);
6.3设置状态选择器。选择器定义在drawable下的xml文件中内容如下:
<?xml version= "1.0" encoding ="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_pressed= "true"android:drawable="@drawable/m4" /><item android:state_focused= "true"android:drawable="@drawable/m3" /><item android:drawable= "@drawable/m4"/></selector>定义的顺序很重要,android是顺序测试,所以把特殊状态定义在前设置选择器<ImageButtonandroid:id="@+id/imageBtn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@null"android:src="@drawable/imagebuttonselector"/>
6.4 ToggleButton两种状态的按钮
6.5 复选框 CheckBox
6.6 RadioGroup将多个RadioButton组合成为一组,获取选择的处理函数像这样
RadioGroup rg = (RadioGroup)findViewById(R.id. rgb);
rg.setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
StringBuffer message = new StringBuffer();
RadioButton rb = null;
if(checkedId == -1){
message.append( "nothing seleced");
} else{
rb = (RadioButton)findViewById(checkedId);
message.append(rb.getText());
message.append( " is selected!");
}
TextView tv= (TextView)findViewById(R.id. btn_res_dis);
tv.setText(message.toString());
}
});
6.7ImageView
6.8 DatePicker TimePicker