Android中Button点击事件
在Android中的Button控件上,有三種鼠標(biāo)點(diǎn)擊事件,分別是鼠標(biāo)點(diǎn)擊事件,長按事件,觸摸事件
接下來,看一下是如何進(jìn)行的
方法一:
在layout中創(chuàng)建一個(gè)xml文件,使用什么布局方式,你都可以選,我用的是線性布局文件名為activity_mainlinearlayout。代碼如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/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文件夾中創(chuàng)建一個(gè)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); // 點(diǎn)擊事件btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) { // 進(jìn)行打印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;}});}}運(yùn)行結(jié)果:
方法二:
可以直接在layout文件中的activity_main文件中寫入onclick事件,看下圖,也是可以實(shí)現(xiàn)點(diǎn)擊事件
?
細(xì)節(jié)
1.關(guān)于MotionnEvent類
為了區(qū)分action事件,MotionEvent類中有ACTION_UP\ACTION_MOVE\ACTION_CANCEL三種。
?可以在這里加getAction()方法,然后運(yùn)行虛擬機(jī),點(diǎn)擊按鈕,并長按拖動鼠標(biāo),你會發(fā)現(xiàn),
?當(dāng)你點(diǎn)擊鼠標(biāo)時(shí),會打印1(代表是Up)
當(dāng)你按住鼠標(biāo)不要離開按鈕左右拖動時(shí)是2(代表是move)
當(dāng)你松手時(shí)是1(代表是Cancel),然后才是onClick
2.關(guān)于onLongclick方法和onTouch方法
在這兩個(gè)方法中,都有返回值,返回值的作用是判定是否繼續(xù)執(zhí)行下去,如果為true表示不要繼續(xù)執(zhí)行下去。
總結(jié)
以上是生活随笔為你收集整理的Android中Button点击事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今目标
- 下一篇: 个人号微信机器人API接口