?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
ZoomButton
農(nóng)民伯伯
版本:Android 2.2
?
public class ZoomButton extends ImageButton implements View.OnLongClickListener
?
java.lang.Object
android.view.View
? ???? android.widget.ImageView
? ???? ?????? android.widget.ImageButton
? ???? ?????? ?????? android.widget.ZoomButton
?
概述
????????
???????? 縮放按鈕,實際上是很普通的兩個按鈕,可以簡單的理解為一個ImageButton加上一張縮放的圖標(biāo)。如下代碼:
?
公共方法???????
???????? public boolean dispatchUnhandledMove (View focused, int direction)
???????? 對于獲得焦點的View,這個方法是捕獲箭頭事件最后的機會。這就是在獲取焦點的View沒有在內(nèi)部處理、系統(tǒng)在要求的方向也不能找到一個新的View讓其獲得焦點時調(diào)用。
?????????????????? 參數(shù)
??????????????????????????? focused ? 當(dāng)前焦點View
??????????????????????????? direction焦點移動的方向。其中之一:FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT和 FOCUS_RIGHT.
?????????????????? 返回值
??????????????????????????? 如果為true,將清除這個View未處理的事件。
???????? (注:從源碼中可看出ZoomButton覆蓋了父類的該方法,在super之前調(diào)用了一下clearFocus,如下代碼:
?
???????? public boolean onKeyUp (int keyCode, KeyEvent event)
???????? 默認(rèn)實現(xiàn)至KeyEvent.Callback.onKeyMultiple() :當(dāng)點擊執(zhí)行時KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER被釋放。
?????????????????? 參數(shù)
??????????????????????????? keyCode 按下按鈕代表的鍵值,屬于KeyEvent (注:KeyEvent的靜態(tài)屬性)。
??????????????????????????? event ????? 該KeyEvent對象,定義按鈕動作
?????????????????? 返回值
??????????????????????????? 如果您處理這一事件中,返回true。如果你想允許事件被下一個接收器處理,返回false。
???????????????????????????
???????? public boolean onLongClick (View v)
???????? 當(dāng)一個View被長按時調(diào)用。
?????????????????? 參數(shù)
??????????????????????????? v ???? 被長按的View。
?????????????????? 返回值
??????????????????????????? 如果返回true,這個回調(diào)在長按時被執(zhí)行了,反之返回false.
?
???????? public boolean onTouchEvent (MotionEvent event)
???????? 實現(xiàn)這個方法處理觸摸屏移動事件。
?????????????????? 參數(shù)
??????????????????????????? event ????? 該移動事件.
?????????????????? 返回值
??????????????????????????? 如果是true,該事件是觸摸,反之返回false。
?
???????? public void setEnabled (boolean enabled)
???????? 設(shè)置這個View啟用狀態(tài)。
?????????????????? 參數(shù)
??????????????????????????? enabled 設(shè)置true表示啟用,反之表示禁用。
?
???????? public void setZoomSpeed (long speed)
???????? (注:單獨使用無實際意義,可以用來存放臨時數(shù)據(jù))