一、notification组件的使用:
1、notification 组件就是当来一条短息时,在手机任务栏中显示出一条短信的提示,点击时会激活一个activity
2、创建和使用:
public void click(Viewview){
//1 Get a reference to the NotificationManager:
// 获取一个notification的管理者
NotificationManager manager = (NotificationManager)getSystemService(
NOTIFICATION_SERVICE);
// 2.初始化 manager要显示的notification
int icon = R.drawable.ic_launcher;
CharSequence tickerText = "Hello 标题";
long when = System.currentTimeMillis();
//构造函数参数:(图标,标题,notification显示的时间)
Notificationnotification = new Notification(icon, tickerText, when);
//3. notification的具体事件
// 指定声音
notification.sound = Uri.fromFile(newFile("/sdcard/ha.mp3"));
notification.ledARGB // 显示什么样子的led灯
//震动 指定定震动时间 单位毫秒
Notification.vibrate() ; //参数long[] 数组 20 50 80
//指定notification的显示状态。(FLAG_NO_CLEAR:不显示,FLAG_INSISTENT:一直显示)
notification.flags = Notification.FLAG_NO_CLEAR;
// 延期的意图
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:123456"));
//创建延期意图getActivity方法参数(上下文, 0,意图对象,0)
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,intent, 0);
为notification 设置延期意图:
notification.contentIntent = contentIntent;
//setLatestEventInfo()方法是设置点击notification打开的内容,和执行延期意图。
notification.setLatestEventInfo(this, "标题", "正文", contentIntent);
//4.利用notification管理者把notification显示出来
manager.notify(0, notification);
}
}
二、dialog对话框的使用:
1、确定取消对话框:
public void click1(View view) {
// 1.创建一个对话框的构建器
AlertDialog.Builderbuilder = new Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("我是标题");
builder.setMessage("我是正文");
//对话框的确定按钮
builder.setPositiveButton("确定", newOnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generatedmethod stub
System.out.println("确定被点击了");
}
});
//设置取消按钮和点击事件
builder.setNegativeButton("取消", newOnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generatedmethod stub
System.out.println("取消被点击了");
}
});
//创建对话框,再显示出来
builder.create().show();
}
2、选择对话框
public void click2(View view) {
AlertDialog.Builder builder = new Builder(this);
final String[] items = { "红", "蓝", "绿" };
//设置选择对话框的数据和 点击事件
builder.setItems(items, new OnClickListener() {
方法参数(当前dialog , 被点击的条目在items数组下标)
public voidonClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),
items[which] + "被点击了",
0).show();
}
});
//显示对话框
builder.create().show();
}
3、单选对话框:
public void click3(View view) {
final CharSequence[] items = { "Red","Green", "Blue" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
//方法参数(数组,默认选择的条目小标-1没有默认选择,点击事件)
builder.setSingleChoiceItems(items, -1,
new DialogInterface.OnClickListener() {
public voidonClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item],
Toast.LENGTH_SHORT).show();
// 关闭对话框
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
4、多选对话框:
public void click4(View view) {
final CharSequence[] items = { "Red","Green", "Blue" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
//方法参数:(数组,默认选择的数组,true表示对应的条目选中,点击事件)
builder.setMultiChoiceItems(items,
new boolean[] { false, true, false },
new OnMultiChoiceClickListener() {
@Override
public voidonClick(DialogInterface dialog, int which,
boolean isChecked) {
Toast.makeText(getApplicationContext(),
items[which] + "" + isChecked,
Toast.LENGTH_SHORT).show();
}
});
//设置确认按钮
builder.setPositiveButton("确定", newOnClickListener() {
@Override
public voidonClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
AlertDialog alert = builder.create();
alert.show();
}
5、进度条对话框:ProgressDialog 类
public void click5(Viewview) {
ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("提示标题");
pd.setMessage("处理中...");
pd.show();
}
三、下拉列表组件
1、下拉列表的组件:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
2、下拉列表的操作:
//获取下拉列表组件
Spinner spinner = (Spinner) this.findViewById(R.id.spinner);
//创建适配器
ArrayAdapter<String> adapter = newArrayAdapter<String>(this,
android.R.layout.simple_spinner_item);
//为适配设置布局
//android.R.layout.simple_spinner_dropdown_item
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("java");
adapter.add("dotNet");
adapter.add("php");
spinner.setAdapter(adapter);
//点击事件
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public voidonItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
}
@Override
public voidonNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
四、拖动条:
1、拖动条组件:
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
2、组件的使用:
//拖动条组件对象
seekBar1 = (SeekBar) this.findViewById(R.id.seekBar1);
seekBar1.setMax(100);//设置拖动条最大
seekBar1.setProgress(50);//拖动条当前的值
//拖动时的事件
seekBar1.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
//停止拖动时的方法
public voidonStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("停止拖动了");
//获取当前的位置
int position = seekBar.getProgress();
}
@Override
//开始拖动时的方法:
public voidonStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
System.out.println("开始拖动了");
}
@Override
public voidonProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
}
});
五、菜单:
在activity类中覆写两个方法:
@Override//设置菜单项
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, 1, Menu.NONE, "添加");
menu.add(Menu.NONE, 2, Menu.NONE, "更新");
return super.onCreateOptionsMenu(menu);
}
@Override//点击菜单项的事件
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case 1://添加
Log.i("tag","add was selected");
return true;
case 2://更新
Log.i("tag","update was selected");
return true;
default:
returnsuper.onMenuItemSelected(featureId, item);
}
}
六、输入内容自动完成文本框(AutoCompleteTextView)
1、组件
<AutoCompleteTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:id="@+id/name" />
<!--completionThreshold 指定至少输入几个字符后才会出现自动提示功能 -->
2、操作:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] names = {"老张", "老方", "老毕", "李明" , "李丽", "陈江", "abc","acc"};
AutoCompleteTextViewnameText = (AutoCompleteTextView)
this.findViewById(R.id.name);
ArrayAdapter<String>adapter = new ArrayAdapter<String>(
this,android.R.layout.simple_dropdown_item_1line, names);
nameText.setAdapter(adapter);
}
七.ScrollView :滚动显示内容
<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tv"
/>
</ScrollView>
</LinearLayout>