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