正文
一、類結構
java.lang.Object
android.widget.ZoomButton
public class ZoomButton extends ImageButton implements View.OnLongClickListener
二、概述
縮放按鈕,實際上是很普通的兩個按鈕,可以簡單的了解為一個ImageButton加上一張縮放的圖示。如下代碼:
三、公共方法
public boolean dispatchUnhandledMove (View focused, int direction)
對于獲得焦點的View,這個方法是捕獲箭頭事件最後的機會。這就是在擷取焦點的View沒有在内部處理、系統在要求的方向也不能找到一個新的View讓其獲得焦點時調用。
參數
focused 目前焦點View
direction焦點移動的方向。其中之一:FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT和 FOCUS_RIGHT.
傳回值
如果為true,将清除這個View未處理的事件。
(注:從源碼中可看出ZoomButton覆寫了父類的該方法,在super之前調用了一下clearFocus,如下代碼:
public boolean onKeyUp (int keyCode, KeyEvent event)
預設實作至KeyEvent.Callback.onKeyMultiple() :當點選執行時KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER被釋放。
keyCode 按下按鈕代表的鍵值,屬于KeyEvent (注:KeyEvent的靜态屬性)。
event 該KeyEvent對象,定義按鈕動作
如果您處理這一事件中,傳回true。如果你想允許事件被下一個接收器處理,傳回false。
public boolean onLongClick (View v)
當一個View被長按時調用。
v 被長按的View。
如果傳回true,這個回調在長按時被執行了,反之傳回false.
public boolean onTouchEvent (MotionEvent event)
實作這個方法處理觸摸屏移動事件。
event 該移動事件.
如果是true,該事件是觸摸,反之傳回false。
public void setEnabled (boolean enabled)
設定這個View啟用狀态。
enabled 設定true表示啟用,反之表示禁用。
public void setZoomSpeed (long speed)
(注:單獨使用無實際意義,可以用來存放臨時資料)
本文轉自over140 51CTO部落格,原文連結:http://blog.51cto.com/over140/582701,如需轉載請自行聯系原作者