Eri*_*rik 9 android gesturedetector
更具体的我在哪里附加,OnGestureListener以便
我可以onSingleTapUp在屏幕上的任何地方检测到,
即使ImageView占据屏幕的一半.
现在我在Activity上有一个带有ImageView的Listener.
但是当我在ImageView外部单击时,Listener才会触发.
我阅读并尝试理解这一点,但无法做到正确.
此代码位于Activity中.
public boolean onSingleTapUp(MotionEvent e) {
//addtext.setText("-" + "SINGLE TAP UP" + "-");
//Log.d(TAG, "- + SINGLE TAP UP + - ***********************************************************************");
int btnsize = buttonSave.getHeight();
int viewWidth = display.getWidth();
int viewHeight = display.getHeight();
// RIGHT SIDE SCREEN
if(e.getX()> (viewWidth*0.7)){
Log.d(TAG, "RIGHT SIDE");
if(e.getY()> viewHeight*0.7){
Log.d(TAG, "right down on screen");
}else if(e.getY()> (viewHeight*0.45)){
Log.d(TAG, "right middle on screen ");
}
}
// LEFT SIDE SCREEN
if(e.getX()< (viewWidth*0.3)){
Log.d(TAG, "LEFT SIDE");
if(e.getY()> viewHeight*0.7){
Log.d(TAG, "Left middle on screen ");
}else if(e.getY()> (viewHeight*0.45)){
Log.d(TAG, "Left down on screen ");
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
对于那些只需要一种简单的方法来检测屏幕上的点击的人,我正在回答这个问题:
android:onClick向基础/根布局添加值(LinearLayout,RelativeLayout等).你可以把它叫做任何你想要的东西,我把它命名screenTapped为一个例子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="screenTapped">
Run Code Online (Sandbox Code Playgroud)Activity使用您为其指定的相同名称将此方法添加到您的方法onClick:
public void screenTapped(View view) {
// Your code here
}
Run Code Online (Sandbox Code Playgroud)现在,点击屏幕将调用上面的方法.
| 归档时间: |
|
| 查看次数: |
11512 次 |
| 最近记录: |