300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Android中Button点击事件

Android中Button点击事件

时间:2023-11-02 02:05:01

相关推荐

Android中Button点击事件

在Android中的Button控件上,有三种鼠标点击事件,分别是鼠标点击事件,长按事件,触摸事件

接下来,看一下是如何进行的

方法一:

在layout中创建一个xml文件,使用什么布局方式,你都可以选,我用的是线性布局文件名为activity_mainlinearlayout。代码如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮"android:id="@+id/btn_one"android:textColor="@color/blue"android:background="@color/aqua"/></LinearLayout>

接下来是事件,首先要在main中的java文件夹中创建一个java文件,名称一般是MainAcitivty,具体请看代码:

package com.example.myapplication3;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import androidx.appcompat.app.AppCompatActivity;import com.google.android.material.tabs.TabLayout;public class MainActivity extends AppCompatActivity {private static final String TAG="happy";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate((savedInstanceState));// 这句话的意思是引用layout中的activity_main文件setContentView(R.layout.activity_main);View btn=findViewById(R.id.btn_one);// 点击事件btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {//进行打印Log.e(TAG,"onClick");}});// 长按事件btn.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View view) {Log.e(TAG,"OnLongClick");return false;}});// 触摸事件btn.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View view, MotionEvent motionEvent) {Log.e(TAG,"onTouch");return false;}});}}

运行结果:

方法二:

可以直接在layout文件中的activity_main文件中写入onclick事件,看下图,也是可以实现点击事件

细节

1.关于MotionnEvent类

为了区分action事件,MotionEvent类中有ACTION_UP\ACTION_MOVE\ACTION_CANCEL三种。

可以在这里加getAction()方法,然后运行虚拟机,点击按钮,并长按拖动鼠标,你会发现,

当你点击鼠标时,会打印1(代表是Up)

当你按住鼠标不要离开按钮左右拖动时是2(代表是move)

当你松手时是1(代表是Cancel),然后才是onClick

2.关于onLongclick方法和onTouch方法

在这两个方法中,都有返回值,返回值的作用是判定是否继续执行下去,如果为true表示不要继续执行下去。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。