簡體   English   中英

長按后如何檢測按鈕的釋放?

[英]How to detect a release of the button after a long press?

想要發布按鈕,已實現onLongClick()onClick()偵聽器,它們工作正常,但如何檢測Release 實際上想創建一個類似於WhatsApp的音頻錄制按鈕的按鈕,如果短按或觸摸沒有任何作用,則長時間按住開始錄制音頻並在釋放時停止錄制。

聽眾

            @Override
            public void onClick(View v) {
                shortClick();
            }
        });

       btn.setOnLongClickListener(new View.OnLongClickListener() {
           @Override
           public boolean onLongClick(View v) {
               longClick();
               return true;
           }
       });

職能

 public void shortClick()
    {
        Toast.makeText(this, "Short click Cancel !!!", Toast.LENGTH_SHORT).show();

    }

    public void longClick()
    {
        Toast.makeText(this, "Long click started - Recording started !!!", Toast.LENGTH_SHORT).show();

    }

所以,需要一個釋放函數。

這是工作代碼

@Override
public boolean dispatchKeyEvent(KeyEvent KEvent) 
{
    int keyaction = KEvent.getAction();

    if(keyaction == KeyEvent.ACTION_DOWN)
    {
        int keycode = KEvent.getKeyCode();
        int keyunicode = KEvent.getUnicodeChar(KEvent.getMetaState() );
        char character = (char) keyunicode;

        System.out.println("DEBUG MESSAGE KEY=" + character + " KEYCODE=" +  keycode);
    }


    return super.dispatchKeyEvent(KEvent);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM