Android开发中的各类事件及弹窗实现
1. 在android.view.KeyEvent 中,onKeyDown表示对键盘按键的响应
需要重写onKeyDown 函数
@Override
public boolean onKeyDown(int keyCode, KeyEvent msg){
存在四种KeyEvent事件 KEYCODE_DPAD_UP、KEYCODE_DPAD_RIGHT、KEYCODE_DPAD_LEFT、KEYCODE_DPAD_DOWN。
2在android.view.motionEvent中,.onTouchEvent表示对触摸屏的响应
需要重写onTouchEvent函数
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
3.如何实现Activity 跳转
Intent intent = new Intent(); // 建立Intent
intent.setClass(Forwarding.this, ForwardTarget.class); // 设置活动
startActivity(intent);
finish(); // 结束当前活动--可选
4.在Activity01中携带参数跳转至Activity02 进行处理,并将处理结果返回给Activity01中的实现步骤
1.Activity01中指定事件中定义调转
Intent intent = new Intent(ReceiveResult.this, SendResult.class);
startActivityForResult (intent, GET_CODE);
2.Activity02中,处理完之后将要返回的数据封装到setAction中。
setResult(RESULT_OK, (new Intent()).setAction("Corky!"));
3.Activity01中重写onActivityResult(int requestCode, int resultCode,Intent data)事件
5.如何添加菜单及响应
1.重写OnCreateOptionsMenu(Menu menu)函数
2.在函数中,添加menu.add(0,RED_MENU_ID,0,r.string.red);
3.重写public boolean onOptionsItemSelected(MenuItem item)
4.swith(item.getItemId()){
case RED_MENU_ID:
break;
}
abstract MenuItem add(int groupId, int itemId, int order, CharSequence title)
6.弹出式对话框
android.app.AlertDialog 来实现弹出式对话框
使用AlertDialog.Builder和不同的参数来构建对话框。
return new AlertDialog.Builder(AlertDialogSamples.this) // 返回一个对话框
.setIcon(R.drawable.alert_dialog_icon) // 设定icon
.setTitle(R.string.alert_dialog_two_buttons_title) // 设定title
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* 左键事件 */
}
});
.setNeutralButton(R.string.alert_dialog_something, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* 中键事件 */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* 右键事件 */
}
})
.setMessage(R.string.alert_dialog_two_buttons2_msg) //设定消息内容
.setItems(R.array.select_dialog_items, new DialogInterface.OnClickListener() { //列表项对话框
public void onClick(DialogInterface dialog, int which) {
String[] items =getResources().getStringArray(R.array.select_dialog_items);
new AlertDialog.Builder(AlertDialogSamples.this)
.setMessage("You selected: " + which + " , " + items[which])
.show();
}
})
.setSingleChoiceItems(R.array.select_dialog_items2, 0, new DialogInterface.OnClickListener() { //单选项和按钮对话框
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.setMultiChoiceItems(R.array.select_dialog_items3,
new boolean[]{false, true, false, true, false, false, false},
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int whichButton,boolean isChecked) { //多选项和按钮对话框
/* 点击复选框的响应 */
}
})
文章引自博客园:http://www.cnblogs.com/oftenlin/archive/2013/03/27/2984674.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。