Android 点击事件,如何在界面上或者某个控件上添加点击事件
說到點擊事件,第一印象 setOnClickListener() 方法,這也是用的最多的控件點擊事件方法,這篇文章不分享這個方法,使用該方法的前提是你要拿到這個控件的 View 才可以調用這個方法
通過需求去定位和理解這篇文章的意義
一個APP的某個部分需要添加一個圖標,或者文字,或者標識,并且要有點擊事件
狗蛋說:這當然好辦了,添加一個TextView或者ImageView,或者其他控件上去,然后通過 setOnClickListener() 不就解決了嗎!
現實是:這個部分不是通過xml布局文件編寫的,也不是通過代碼里面去創建某個控件或者自定義View實現的,而是通過 Canvas 畫出來的,哎,你說氣不氣。
其實大佬的話已經想到如何解決了,不湊巧,狗蛋剛畢業思維還沒有打開,
解決辦法:
既然是畫出來的,肯定是需要 X軸,Y軸兩點的坐標的,說到這里狗蛋可能就想到了,好像某些方法也可以獲取到用戶點擊屏幕的 X軸,Y軸坐標,沒錯!
View內有一個 onTouchEvent()方法,此方法是可以獲取到用戶按下、抬起、劃拉屏幕的坐標的,
我們要做的就是將畫到畫板上的坐標記錄下來,用戶點擊時判斷點擊的位置是否處于畫的當時坐標位置,如果是進行怎么樣的反應,不是進行怎樣的反應,問題就解決了! 其實辦法并不難,難的是思路!
下面附上代碼,以便加深理解
我們要存儲x,y的值,這里要注意!!!,存儲的為一個矩形,因為我們點擊之后要判斷是否在某個 區域 內為了用戶點擊范圍更大時,可以在存儲的時候加大一下x,y的值
處理點擊事件:
這里選擇按下,或者抬起,或者異動時候進行判斷,精華如下!!!
判斷方法:
參數 x,y 為用戶操作時的坐標,this.的參數為我們記錄畫的位置,如果符合上述判斷,則說明在點擊區域位置內,此時即可認定為點擊了該畫
總結
以上是生活随笔為你收集整理的Android 点击事件,如何在界面上或者某个控件上添加点击事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 近期接触和学习的新技术
- 下一篇: 基于vue的英语单词App