大三下每日打卡020
1.setOnClickListener:
用途:处理点击事件。
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
2.setOnTouchListener
用途:处理触摸事件(按下、移动、抬起等)。
myButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 按下事件
break;
case MotionEvent.ACTION_MOVE:
// 移动事件
break;
case MotionEvent.ACTION_UP:
// 抬起事件
break;
}
return false; // 返回 true 表示事件已处理,不再传递
}
});
3.setOnKeyListener
用途:处理按键事件(如物理键盘或遥控器按键)
myButton.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
// 处理回车键按下事件
return true; // 返回 true 表示事件已处理
}
return false; // 返回 false 表示事件未处理
}
});
4.setOnLongClickListener
用途:处理长按事件。
myButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 处理长按事件
return true; // 返回 true 表示事件已处理
}
});
5.setOnFocusChangeListener
用途:处理焦点变化事件(如视图获得或失去焦点)。
myButton.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// 视图获得焦点
} else {
// 视图失去焦点
}
}
});
6.setOnDragListener
用途:处理拖拽事件。
myButton.setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
// 拖拽开始
break;
case DragEvent.ACTION_DRAG_ENDED:
// 拖拽结束
break;
case DragEvent.ACTION_DROP:
// 拖拽释放
break;
}
return true; // 返回 true 表示事件已处理
}
});
7. setOnCreateContextMenuListener
用途:处理上下文菜单创建事件(长按视图时弹出菜单)
myButton.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
// 添加上下文菜单项
menu.add("菜单项1");
menu.add("菜单项2");
}
});
8. setOnSystemUiVisibilityChangeListener
用途:处理系统 UI 可见性变化事件(如状态栏或导航栏的显示/隐藏)。
myButton.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
// 系统 UI(如状态栏)可见
} else {
// 系统 UI 隐藏
}
}
});
9. setOnGenericMotionListener
用途:处理通用运动事件(如鼠标或轨迹球事件)。
myButton.setOnGenericMotionListener(new View.OnGenericMotionListener() {
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
// 处理通用运动事件
return true; // 返回 true 表示事件已处理
}
});
10. setOnHoverListener
用途:处理悬停事件(如鼠标悬停)。
myButton.setOnHoverListener(new View.OnHoverListener() {
@Override
public boolean onHover(View v, MotionEvent event) {
// 处理悬停事件
return true; // 返回 true 表示事件已处理
}
});

浙公网安备 33010602011771号