代码...........................................................................................................
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
EditText nameET = (EditText) findViewById(R.id.dialog_name);
EditText pwdET = (EditText) findViewById(R.id.dialog_pwd);
}
public void showAD(View v){
new AlertDialog.Builder(this)
.setTitle("删除数据")//设置标题
.setMessage("你确定要删除数据吗?")//设置提示具体信息
.setPositiveButton("删除",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "删除数据", Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "取消删除数据", Toast.LENGTH_SHORT).show();
}
})
.show();//显示对话框
}
//显示单选列表AlertDialog
public void showLd(View v){
final String[] items = {"红","蓝","绿","灰"};
new AlertDialog.Builder(this)
.setTitle("指定背景颜色")//设置标题
//设置单选列表(参数1列表项内容,2当前选中项3监听)
.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//which就是选择的下标
Toast.makeText(DialogActivity.this, items[which], Toast.LENGTH_SHORT).show();
//移除Dismiss
dialog.dismiss();
}
})
.show();//显示对话框
}
//显示自定义AlertDialog
public void showCD(View v){
//动态加载布局文件,得到对应的View对象
View view = View.inflate(this, R.id.dialog_view, null);
//问题1:view的真实类型是?布局文件跟标签的类型,包含了子view对象
//问题2:如何得到一个独立的view的子view?
final EditText nameET = (EditText) findViewById(R.id.dialog_name);
final EditText pwdET = (EditText) findViewById(R.id.dialog_pwd);
new AlertDialog.Builder(this)
.setView(view)//设置自定义布局
.setNegativeButton("取消", null)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//读取用户名和密码
String username = nameET.getText().toString().trim();
String pwd = pwdET.getText().toString().trim();
//提示
Toast.makeText(DialogActivity.this, username+":", Toast.LENGTH_SHORT).show();
}
})
.show();
}
public void showPD(View v) throws InterruptedException{
final ProgressDialog dialog = ProgressDialog.show(this,"数据加载","数据加载中....");
//模拟做一个长时间的工作\
//长时间的工作不能在主线程做,得启动分线程完成
new Thread(){
public void run(){
for (int i = 0; i < 20; i++) {
//休息一会
try{
Thread.sleep(100);
}catch (InterruptedException e){
e.printStackTrace();
}
}
//移除Dialog
dialog.dismiss();//方法在分线程执行,但内部使用Handler实现主线程移除Dialog
//不能在分线程里面直接更新Ui
runOnUiThread(new Runnable() {
@Override
public void run() {//在主线程执行
//显示一个Toast
Toast.makeText(DialogActivity.this, "加载完成", Toast.LENGTH_SHORT).show();
}
});
};
}.start();
}
//显示水平进度ProgressDialog
public void showPD2(View v){
//
final ProgressDialog pd = new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.show();
new Thread(new Runnable() {
@Override
public void run() {//分线程执行代码
int count = 20;
//设置最大进度
pd.setMax(count);
//耗时的操作
for (int i = 0; i < count; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.setProgress(pd.getProgress()+1);
}
//移除Dialog
pd.dismiss();
}
}).start();
}
public void showDD(View v){
//创建日历对象
Calendar calendar = Calendar.getInstance();
//得到当前的年月日
int year = calendar.get(Calendar.YEAR);//年份
int monthOfYear = calendar.get(calendar.DAY_OF_MONTH);//月份
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);//日
Log.e("TAG",year+"-"+monthOfYear+"-"+dayOfMonth);
//创建日期对话框(参数1上下文,2点完成按钮之后的操作.
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Log.e("TAG",year+"-"+monthOfYear+"-"+dayOfMonth);
}
}, year, monthOfYear, dayOfMonth).show();
}
public void showTD(View v){
//创建时间对象
Calendar calendar = Calendar.getInstance();
//得到当前小时,分
final int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);//小时
final int minute = calendar.get(calendar.MINUTE);//分
Log.e("TAG", hourOfDay+":"+minute);
//创建日期对话框(参数1上下文,2点完成按钮之后的操作.3时.4分钟
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Log.e("TAG", hourOfDay+"::"+minute);
}
},hourOfDay, minute, true).show();
}



菜单.....................................................................................................................
package com.example.test_05component;
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MenuActivity extends Activity {
/**
* 1.如何触发Menu的显示?
* 点击menu键
* 2.如何向Menu中添加MenuItem? 重写方法onCreateOptionsMenu方法
* 1.menu.add()
* 2.菜单文件
*/
private Button bt_menu_show_cm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
bt_menu_show_cm=(Button) findViewById(R.id.bt_menu_show_cm);
bt_menu_show_cm.setOnCreateContextMenuListener(this);
}
//用来显示选项菜单的方法
@Override
public boolean onCreateOptionsMenu(Menu menu){
// 纯编码方式
menu.add(0, 2, 0, "添加");
menu.add(0, 3, 0, "删除");
return super.onCreateOptionsMenu(menu);
}
// @Override
// public boolean onCreateOptionsMenu(Menu menu) {
// //菜单文件的方式
// //1.得到菜单加载器对象
// MenuInflater menuInflater = getMenuInflater();
// //2.加载菜单文件
// menuInflater.inflate(R.menu.option_menu, menu);
// return super.onCreateOptionsMenu(menu);
// }
//
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 2: //R.id.add
Toast.makeText(this, "添加", Toast.LENGTH_SHORT).show();
case 3: // R.id.delete
Toast.makeText(this, "删除", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
//添加菜单项
menu.add(0, 1, 0, "添加");
menu.add(0, 4, 0, "删除");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Toast.makeText(this, "添加", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(this, "删除", Toast.LENGTH_SHORT).show();
break;
}
return super.onContextItemSelected(item);
}
}

网友评论