大三下每日打卡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 表示事件已处理

    }

});

 

 

posted @ 2025-03-23 10:40  软件拓荒人  阅读(13)  评论(0)    收藏  举报