Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Linearlayout设置为可见后,GestureDetectorCompat不工作_Android_Android Layout - Fatal编程技术网

Android Linearlayout设置为可见后,GestureDetectorCompat不工作

Android Linearlayout设置为可见后,GestureDetectorCompat不工作,android,android-layout,Android,Android Layout,我遇到了一个问题:我正在使用手势检测器Compat进行手势检测。我要设置双击后可见的linearlayout。如果新的linearlayout被点击一次,我想隐藏它。 因此,我得到了这个activity_main.xml,第二个LinearLayout设置为vibility=“gone”: } 谢谢你的帮助 > P>你只考虑双击,你也应该考虑 编辑:为什么要使用mDetector?删除该选项,只需使用重写的doubleTap方法 显示活动中的更多代码。显示你的班级声明。对不起,我不知道如何修改我

我遇到了一个问题:我正在使用手势检测器Compat进行手势检测。我要设置双击后可见的linearlayout。如果新的linearlayout被点击一次,我想隐藏它。 因此,我得到了这个activity_main.xml,第二个LinearLayout设置为vibility=“gone”:

}


谢谢你的帮助

> P>你只考虑双击,你也应该考虑<代码>
编辑:为什么要使用mDetector?删除该选项,只需使用重写的doubleTap方法

显示活动中的更多代码。显示你的班级声明。对不起,我不知道如何修改我的问题。这是我的全部课程。日志记录可以工作,所以在第一个线性布局中它也可以检测单个点击。
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="#000000">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <ImageView
        android:id="@+id/image"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ImageView>

</LinearLayout>

<LinearLayout android:id="@+id/overlay"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#99000000"
    android:clickable="true"
    android:visibility="gone">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="90dp"
            android:id="@+id/headerLbl"
            android:text="Motivate your Friends!"
            android:textColor="#ffffffff"
            android:textSize="25dp"
            android:textAlignment="center"
            android:textStyle="bold"
            android:gravity="center" />

</LinearLayout>
package com.testapp.test;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import java.io.InputStream;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;


public class MainActivity extends Activity implements     GestureDetector.OnGestureListener,
    GestureDetector.OnDoubleTapListener{


private static final String DEBUG_TAG = "Gestures";
private GestureDetectorCompat mDetector;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    mDetector = new GestureDetectorCompat(this,this);
    mDetector.setOnDoubleTapListener(this);



}


@Override
public boolean onTouchEvent(MotionEvent event){
    this.mDetector.onTouchEvent(event);
    // Be sure to call the superclass implementation
    return super.onTouchEvent(event);
}

@Override
public boolean onDown(MotionEvent event) {
    Log.d(DEBUG_TAG,"onDown: " + event.toString());
    return true;
}

@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
                       float velocityX, float velocityY) {
    Log.d(DEBUG_TAG, "onFling: " + event1.toString()+event2.toString());
    return true;
}

@Override
public void onLongPress(MotionEvent event) {
    Log.d(DEBUG_TAG, "onLongPress: " + event.toString());
}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
                        float distanceY) {
    Log.d(DEBUG_TAG, "onScroll: " + e1.toString()+e2.toString());
    return true;
}

@Override
public void onShowPress(MotionEvent event) {
    Log.d(DEBUG_TAG, "onShowPress: " + event.toString());
}

@Override
public boolean onSingleTapUp(MotionEvent event) {
    Log.d(DEBUG_TAG, "onSingleTapUp: " + event.toString());
    return true;
}

@Override
public boolean onDoubleTap(MotionEvent event) {
    LinearLayout shareOverlay = (LinearLayout) findViewById(R.id.overlay);

    shareOverlay.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            mDetector.onTouchEvent(event);
            return false;
        }
    });

    shareOverlay.setVisibility(shareOverlay.VISIBLE);

    Log.d(DEBUG_TAG, "onDoubleTap: " + event.toString());
    return true;
}

@Override
public boolean onDoubleTapEvent(MotionEvent event) {
    Log.d(DEBUG_TAG, "onDoubleTapEvent: " + event.toString());
    return true;
}

@Override
public boolean onSingleTapConfirmed(MotionEvent event) {
    LinearLayout shareOverlay = (LinearLayout) findViewById(R.id.overlay);
    shareOverlay.setVisibility(shareOverlay.GONE);
    Log.d(DEBUG_TAG, "onSingleTapConfirmed: " + event.toString());
    return true;
}





@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}