2014-03-19 119 views
0

我想知道在android屏幕上我們是否可以識別SCREEN本身的雙擊操作。手機屏幕上的雙擊手勢

我發現很多與雙擊手勢相關的代碼,但沒有找到SCREEN。請讓我知道它是否存在於API中。

這就像我們點擊手機的屏幕一樣,當我們雙擊手機屏幕時,它會像在windows手機中一樣啓動動作,它會進入模式穩定模式。

我正在使用此代碼進行雙擊手勢。

package a.b.c; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.GestureDetector.OnDoubleTapListener; 
import android.view.GestureDetector.OnGestureListener; 
import android.view.MotionEvent; 
import android.widget.Toast; 



public class SampleActivity extends Activity implements OnDoubleTapListener,OnGestureListener 
{ 
     @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    public boolean onDoubleTap(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onDoubleTap", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 

    @Override 
    public boolean onDoubleTapEvent(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onDoubleTapEvent", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 

    @Override 
    public boolean onSingleTapConfirmed(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onSingleTapConfirmed", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 
+0

嗨,你解決了這個?如果是,那麼你能否幫我解決我的要求是一樣的。 –

+0

是的,你可以使用第三方應用程序/啓動器相同!! !!謝謝 –

回答

0

添加以下代碼到你的活動..

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.GestureDetector; 
import android.view.GestureDetector.OnDoubleTapListener; 
import android.view.GestureDetector.OnGestureListener; 
import android.view.MotionEvent; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class Main extends Activity implements OnGestureListener, OnDoubleTapListener 
{  
    private LinearLayout main;  
    private TextView viewA; 

    private GestureDetector gestureScanner; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     gestureScanner = new GestureDetector(this); 

     main = new LinearLayout(this); 
     main.setBackgroundColor(Color.GRAY); 
     main.setLayoutParams(new LinearLayout.LayoutParams(320,480)); 

     viewA = new TextView(this); 
     viewA.setBackgroundColor(Color.YELLOW); 
     viewA.setTextColor(Color.BLACK); 
     viewA.setTextSize(16); 
     viewA.setLayoutParams(new LinearLayout.LayoutParams(320,80)); 
     main.addView(viewA); 

     setContentView(main); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent me) 
    { 
    return gestureScanner.onTouchEvent(me); 
    } 

    @Override 
    public boolean onDown(MotionEvent e) 
    { 
    viewA.setText("-" + "DOWN" + "-"); 
    return true; 
    } 

    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 
    { 
    viewA.setText("-" + "FLING" + "-"); 
    return true; 
    } 

    @Override 
    public void onLongPress(MotionEvent e) 
    { 
    viewA.setText("-" + "LONG PRESS" + "-"); 
    } 

    @Override 
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) 
    { 
    viewA.setText("-" + "SCROLL" + "-"); 
    return true; 
    } 

    @Override 
    public void onShowPress(MotionEvent e) 
    { 
    viewA.setText("-" + "SHOW PRESS" + "-"); 
    }  

    @Override 
    public boolean onSingleTapUp(MotionEvent e)  
    { 
    viewA.setText("-" + "SINGLE TAP UP" + "-"); 
    return true; 
    } 

@Override 
public boolean onDoubleTap(MotionEvent e) { 
    viewA.setText("-" + "DOUBLE TAP" + "-"); 
    return true; 
} 

@Override 
public boolean onDoubleTapEvent(MotionEvent e) { 
    viewA.setText("-" + "DOUBLE TAP EVENT" + "-"); 
    return true; 
} 

@Override 
public boolean onSingleTapConfirmed(MotionEvent e) { 
    viewA.setText("-" + "SINGLE TAP CONFORMED" + "-"); 
    return true; 
} 
} 

我希望它會幫助你:)

+0

老闆它沒有工作我想要的是用戶雙擊屏幕上,然後我會這樣做操作。:) :) –

+0

我有編輯我的代碼。運行並檢查它是否工作。 – pash

+0

如果我只想雙擊東西而不擔心所有其他的東西呢? – Remian8985