`
liuy2012
  • 浏览: 107581 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

Button响应鼠标点击事件

 
阅读更多
Button响应鼠标点击事件

工作中遇到的问题,以后这块用处应该很多,所以趁着还比较熟,就先记录下来,以方便以后查询。

需要Button响应鼠标点击事件,有以下几点需要注意:
1 xml中定义如下:
<Button
            android:id="@+id/save"
            android:layout_width="240px"
            android:layout_height="wrap_content"
            android:layout_marginTop="300px"
            android:focusableInTouchMode="true"
            android:text="@string/save"
            android:textSize="23dp" />
需要添加 android:focusableInTouchMode="true",添加后,在点击鼠标时才可以获取焦点。
2 代码中响应事件的获取,如下:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {

//to do
return true;
}
});
3 如果只是如上两点的处理,可以捕获到鼠标的点击事件,但是有两个问题:a button可以获取焦点,并调用onTouch函数,但是在鼠标点击button时,button的颜色并没有高亮显示,即仍为白色,没有变为黄色  b 鼠标点击一次,但是onTouch函数却调用了两次。
以上两点的处理如下:
a 需要在onTouch函数里面添加:button.requestFocus();---这样就可以在鼠标点击时,颜色发生变化了
b 之所以onTouch函数执行了两次,是因为对于up和down事件,都有调用此函数进行处理。
因此需要考虑是处理up还是down事件,在onTouch里面进行判断,再调用相应的代码去执行。



分享到:
评论

相关推荐

    PictureBox和Button重叠,鼠标滑过图片控件控制按钮的显隐,按钮可响应事件

    本示例涉及的核心知识点是PictureBox和Button控件的重叠使用,以及利用鼠标事件来控制按钮的可见性。以下将详细介绍这些知识点: 1. PictureBox控件:PictureBox是.NET Framework提供的一种用于显示图像的控件,...

    wpf中鼠标点击时触发事件效果

    本篇文章将详细介绍如何在WPF中处理按钮(Button)的鼠标点击事件,以及如何实现相关的视觉效果。 首先,我们要了解WPF中的基本事件系统。WPF使用依赖属性(Dependency Properties)来处理事件,这意味着事件处理...

    Qt鼠标键盘响应事件示例

    3. 鼠标点击响应:对于鼠标点击事件,通常使用`mousePressEvent()`来捕获。例如,如果想知道左键单击,可以检查`event-&gt;button()`是否为`Qt::LeftButton`。 4. 鼠标滚轮响应:滚轮事件可以通过`wheelEvent()`处理。...

    Qt中QLabel单击事件响应

    然而,QLabel默认并不支持直接的点击事件处理,但我们可以利用Qt的信号和槽机制,对其进行扩展,使其能够响应单击事件。本文将深入探讨如何实现QLabel的单击事件响应,并通过具体的示例代码来演示这一过程。 首先,...

    MFC 鼠标按下与弹起事件响应

    "MFC 鼠标按下与弹起事件响应"的主题着重于如何响应鼠标的按下和释放动作,这对于实现交互式的UI控件,如云台控制等场景尤其关键。 在MFC中,我们可以使用CWnd类提供的On_WM_LBUTTONDOWN和On_WM_LBUTTONUP消息处理...

    qt 区分鼠标左键单击,双击事件

    在Qt编程中,区分鼠标左键的单击和双击事件并不像键盘事件那样直接提供对应的信号和槽函数。在标准的Qt事件处理机制中,`QMouseEvent`类提供了鼠标按键按下、释放等事件,但并没有区分单击和双击。然而,开发者可以...

    Qt的鼠标事件教程代码

    开发人员需要重写这些事件处理函数来捕获和响应鼠标事件。 2. **鼠标移动事件** 鼠标移动事件由`QMouseEvent::mouseMoveEvent()`处理。这个事件会在鼠标在窗口内移动时触发,通过`pos()`函数可以获取当前鼠标位置...

    探寻C# Button双击事件

    通过对`Button`控件的`Click`事件进行重载,并通过记录两次点击之间的时间间隔来判断是否为双击,我们成功地实现了`Button`控件的双击事件。这种方法不仅简单实用,而且具有很好的灵活性。在实际开发过程中,可以...

    VLC鼠标响应简略分析(Button)

    通过以上分析,我们可以看出,"VLC鼠标响应简略分析(Button)"不仅仅是关于按钮的点击,还涵盖了广泛的用户交互体验和软件性能优化。了解并改进这些方面有助于提升VLC作为多媒体播放器的用户体验。而提供的截图可能...

    Qt事件处理之鼠标处理事件

    它允许程序响应用户的各种操作,如鼠标点击、键盘输入等。本文将重点介绍Qt中的鼠标事件处理,并简要提及其他类型的事件处理,如键盘事件、绘图事件和定时事件。 首先,我们要理解Qt事件处理的基本流程。当用户与...

    VB鼠标和键盘事件响应程序

    - `Click`: 鼠标单击事件,通常用于响应用户的快速点击操作。 - `DoubleClick`: 双击鼠标事件,通常用于执行更复杂的操作或打开新窗口。 2. **键盘事件**: - `KeyDown`: 用户按下键盘上的键时触发,我们可以...

    qchart 鼠标左键右键事件

    QChart鼠标事件主要包括鼠标左键和右键的点击事件,这些事件使得开发者可以为图表添加丰富的交互功能。在本篇文章中,我们将深入探讨如何在QChart中处理鼠标左键和右键事件。 首先,我们需要了解QChart的基本用法。...

    QT鼠标事件总结(全)

    在QT中,鼠标事件是GUI编程中的重要组成部分,它允许我们响应用户的鼠标操作,如点击、拖动等。下面是对QT鼠标事件的详细总结: 一、鼠标移动事件(QMouseEvent) 在QT中,当鼠标在窗口内移动时,会触发`...

    QT linux下获取键盘和鼠标事件

    你可以定义类似如下的槽函数来处理鼠标点击事件: ```cpp void MyWidget::mousePressEvent(QMouseEvent *event) { if (event-&gt;button() == Qt::LeftButton) { // 处理左键被按下 // ... } else if (event-&gt;...

    鼠标点击事件.rar

    在编程领域,特别是Web开发中,鼠标点击事件是交互式用户界面不可或缺的一部分。"鼠标点击事件.rar"这个压缩包很可能是包含了一些关于JavaScript和jQuery中处理鼠标点击事件的示例代码或教程。这两个库在创建动态和...

    flash鼠标事件处理

    这是开始任何与鼠标点击相关的交互的第一步,例如开始拖动对象或执行某个操作。 2. ** MouseEvent.MOUSE_UP **:当用户释放鼠标按钮时,此事件发生。通常,这与MOUSE_DOWN事件配对,用于完成一个动作,如点击按钮或...

    C#处理鼠标和键盘事件

    例如,我们可以使用以下代码来处理鼠标点击事件: ``` private void button1_MouseDown(object sender, MouseEventArgs e) { // 在这里处理鼠标点击事件 } ``` 处理键盘事件 在C#中,处理键盘事件可以通过使用 ...

    QT Creator 下鼠标事件

    3. `mouseReleaseEvent`:当用户释放鼠标按钮时触发,通常与`mousePressEvent`一起用于实现拖放功能或单击事件。 4. `mouseMoveEvent`:当鼠标在窗口内移动时触发,可以获取到当前鼠标的位置,用于实现例如拖动、...

    C# winform 单击与双击事件同时存在例子

    1. **单击事件(Click)**:当用户对一个控件进行一次鼠标左键点击时,将触发单击事件。这个事件通常用于执行简单的操作,如按钮的点击或控件的选择。 2. **双击事件(DoubleClick)**:用户快速连续两次点击同一...

    Delphi鼠标事件操作

    - `OnClick`: 单击事件,当鼠标点击并且释放在同一位置时触发。 - `OnDblClick`: 双击事件,当鼠标快速连续两次单击同一位置时触发。 2. **TMemo和TEdit等控件的鼠标事件** - 这些控件通常不直接支持OnMouseDown...

Global site tag (gtag.js) - Google Analytics