public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
   mGesture = overlay.getGesture();
   if (mGesture.getLength() < LENGTH_THRESHOLD) {
     overlay.clear(false);
   }
   mDoneButton.setEnabled(true);
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.ga_create_gesture);

    mDoneButton = findViewById(R.id.done);

    final Intent intent = getIntent();
    mUri = intent.getStringExtra("uri");
    mName = intent.getStringExtra("name");

    ((TextView) findViewById(R.id.gesture_name)).setText(mName);

    GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);
    overlay.addOnGestureListener(new GesturesProcessor());

    final GestureLibrary store = GestureAnywhereBuilderActivity.getStore();
    final String gestureName = mName + '|' + mUri;
    for (String entry : store.getGestureEntries()) {
      if (gestureName.equals(entry)) {
        mGesture = store.getGestures(entry).get(0);
        mIsExistingGesture = true;
        break;
      }
    }
  }
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		// 移除绑定的监听器
		mDrawGestureView.removeOnGesturePerformedListener(this);
		mDrawGestureView.removeOnGesturingListener(this);
	}
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_stage_three, container, false);

    GestureOverlayView gOverlay = (GestureOverlayView) view.findViewById(R.id.gOverlay);

    gOverlay.addOnGesturePerformedListener((MainActivity) getActivity());

    return view;
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mLibrary = GestureLibraries.fromRawResource(this, R.raw.spells);
    if (!mLibrary.load()) {
      finish();
    }

    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
    gestures.addOnGesturePerformedListener(this);
  }
Beispiel #6
0
  private void init(Context context) {
    int[] screenDimen = ScreenUtil.getScreenSize(context);
    int screenWidth = screenDimen[0];
    int screenHeight = screenDimen[1];
    mTouchSlop =
        -ViewConfiguration.get(context)
            .getScaledTouchSlop(); // negative value, so detect for swipe left
    Resources res = context.getResources();
    mGestureIconWidth =
        SizeCalculator.gestureIconWidth(
            res); // reserve space at left, showing gesture icons in listview

    LayoutInflater.from(context).inflate(R.layout.view_shortcut, this, true);
    mGestureListView = (GestureListView) findViewById(R.id.sc_gesture_list);
    mOverlay = (ViewGroup) findViewById(R.id.sc_overlay);
    mGestureOverLay = (GestureOverlayView) findViewById(R.id.sc_ges_overlay);
    mKnob = (OverlayKnob) findViewById(R.id.sc_knob);
    mIvTargetApp = (ImageView) findViewById(R.id.sc_target_icon);

    mOverlayKnobPresenter = new OverlayKnobPresenter(this);
    mOverlayGesturePresenter = new OverlayGesturePresenter(context, this, mTouchSlop);
    mStartTaskPresenter = new StartTaskPresenter(this, mIvTargetApp, -screenHeight / 2);

    mGestureListView
        .getViewTreeObserver()
        .addOnPreDrawListener(
            new ViewTreeObserver.OnPreDrawListener() {
              @Override
              public boolean onPreDraw() {
                mGestureListView.getViewTreeObserver().removeOnPreDrawListener(this);
                startShowAnim();
                return true;
              }
            });
    // mGestureListView.setOnGestureIconClickedListener(mStartTaskPresenter);
    mGestureListView.setOnItemClickListener(mStartTaskPresenter);
    mGestureListView.setOnEmptyViewClickedListener(mGestureListEmptyViewClicked);

    // as the width of the overlay will be changed below, while its layout_gravity is right,
    // so calculation of translationX is then affected.
    mTargetOverlayTranslationX = 0;
    mInitialOverlayTranslationX = screenWidth - mGestureIconWidth;

    mOverlay.setTranslationX(mInitialOverlayTranslationX);

    mGestureOverLay.addOnGesturePerformedListener(mStartTaskPresenter);
    mGestureOverLay.getLayoutParams().width = screenWidth - mGestureIconWidth;
    mOverlay.getLayoutParams().width = screenWidth - (mGestureIconWidth - mKnob.getRadius());
  }
 @Override
 public void onAttachedToWindow() {
   super.onAttachedToWindow();
   if (mGesture != null) {
     final GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);
     overlay.post(
         new Runnable() {
           @Override
           public void run() {
             overlay.setGesture(mGesture);
             mDoneButton.setEnabled(true);
           }
         });
   }
 }
Beispiel #8
0
  @Override
  public void showOverlay() {
    if (mCurrentOverlayMode == OverlayMoveMode.BY_GESTURE) {
      mGestureOverLay.setVisibility(VISIBLE);
      ViewPropertyAnimator animator =
          mOverlay
              .animate()
              .setDuration(AppConstant.Anim.ANIM_DURATION_NORMAL)
              .translationX(mTargetOverlayTranslationX)
              .setInterpolator(new DecelerateInterpolator())
              .setListener(
                  new Animator.AnimatorListener() {
                    @Override
                    public void onAnimationStart(Animator animation) {
                      mGestureOverLay.setVisibility(VISIBLE);
                    }

                    @Override
                    public void onAnimationEnd(Animator animation) {
                      EventBus.getDefault().post(new EventToKnob(EventToKnob.END_STATE_LEFT));
                    }

                    @Override
                    public void onAnimationCancel(Animator animation) {}

                    @Override
                    public void onAnimationRepeat(Animator animation) {}
                  });
      animator.start();
    }
  }
  @Override
  protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);

    mGesture = savedInstanceState.getParcelable("gesture");
    if (mGesture != null) {
      final GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);
      overlay.post(
          new Runnable() {
            public void run() {
              overlay.setGesture(mGesture);
            }
          });

      mDoneButton.setEnabled(true);
    }
  }
Beispiel #10
0
 @Override
 protected void onResume() {
   fillHomeListView();
   boolean gesturesEnabled =
       PreferenceManager.getDefaultSharedPreferences(this).getBoolean("gestures", true);
   mGestureOverlayView.setEnabled(gesturesEnabled);
   super.onResume();
 }
	// 手势绘制完成时调用
	@Override
	public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
		// TODO Auto-generated method stub
		
		mGesture = overlay.getGesture();
		if (mGesture != null) {
			// mButton1.setEnabled(true);
		}
	}
Beispiel #12
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.mContext = this;
    // Allow long clicks
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    GestureOverlayView gestureOverlayView = new GestureOverlayView(this);
    View inflate = getLayoutInflater().inflate(R.layout.custom, null);
    gestureOverlayView.addView(inflate);
    gestureOverlayView.addOnGesturePerformedListener(this);
    gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
    if (!gestureLib.load()) {
      finish();
    }
    // Init Handler
    setContentView(R.layout.activity_main);
    inflate.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View arg0) {
            // Play start focus sound
            SoundPlayer.playSound(arg0.getContext(), SoundPlayer.S9);
            mView.focusCamera(false);
          }
        });

    inflate.setOnLongClickListener(
        new OnLongClickListener() {
          public boolean onLongClick(View arg0) {
            // perform auto focus and take picture
            focusAndTakePhoto();
            return true;
          }
        });

    LayoutParams layoutParamsControl =
        new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    this.addContentView(gestureOverlayView, layoutParamsControl);
    // icSeeTutorial.initMediaPlayer();
  }
Beispiel #13
0
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);

    mHomeListView = (ListView) findViewById(R.id.HomeListView);
    mGallery = (Gallery) findViewById(R.id.Gallery);
    mProgressBar = (ProgressBar) findViewById(R.id.ProgressBar);
    mFailureBar = (FailureBar) findViewById(R.id.FailureBar);
    mViewFlipper = (ViewFlipper) findViewById(R.id.ViewFlipper);

    mGestureOverlayView = (GestureOverlayView) findViewById(R.id.gestures);
    mGestureOverlayView.addOnGesturePerformedListener(
        Dian1Application.getInstance().getPlayerGestureHandler());

    new NewsTask().execute((Void) null);
  }
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_draw_gesture);
		
		Intent last = getIntent();
		path = last.getStringExtra("path");
		
		saveBt = (Button) findViewById(R.id.saveBt);
		clearBt = (Button) findViewById(R.id.clearBt);

		mDrawGestureView = (GestureOverlayView) findViewById(R.id.gesture);

		// 设置手势可多笔画绘制,默认情况为单笔画绘制
		mDrawGestureView
				.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE);
		// 设置手势的颜色(蓝色)
		mDrawGestureView.setGestureColor(gestureColor(R.color.gestureColor));
		// 设置还没未能形成手势绘制是的颜色(红色)
		mDrawGestureView
				.setUncertainGestureColor(gestureColor(R.color.ungestureColor));
		// 设置手势的粗细
		mDrawGestureView.setGestureStrokeWidth(4);
		/*
		 * 手势绘制完成后淡出屏幕的时间间隔,即绘制完手指离开屏幕后相隔多长时间手势从屏幕上消失;
		 * 可以理解为手势绘制完成手指离开屏幕后到调用onGesturePerformed的时间间隔 默认值为420毫秒,这里设置为2秒
		 */
		mDrawGestureView.setFadeOffset(3600000);
		mDrawGestureView.setSaveEnabled(true);

		// 绑定监听器
		mDrawGestureView.addOnGesturePerformedListener(this);
		mDrawGestureView.addOnGesturingListener(this);

		mDrawGestureView.addOnGestureListener(new OnGestureListener() {

			@Override
			public void onGestureStarted(GestureOverlayView overlay,
					MotionEvent event) {
				// TODO Auto-generated method stub
				// mButton1.setEnabled(false);
				mGesture = null;
			}

			@Override
			public void onGesture(GestureOverlayView overlay, MotionEvent event) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onGestureEnded(GestureOverlayView overlay,
					MotionEvent event) {
				// TODO Auto-generated method stub
				mGesture = overlay.getGesture();
				if (mGesture != null) {
					// mButton1.setEnabled(true);
				}
			}

			@Override
			public void onGestureCancelled(GestureOverlayView overlay,
					MotionEvent event) {
				// TODO Auto-generated method stub

			}

		});
		
		saveBt.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				saveMyBitmap();
				
				Intent intent = new Intent ();
				intent.putExtra("data", DrawGestureActivity.this.pathAndName);
				setResult(200,intent);
				finish();
				
			}
		});
		
		clearBt.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				mDrawGestureView.setFadeOffset(10);//清除前设置时间间隔缩小
				mDrawGestureView.clear(true);
				mDrawGestureView.setFadeOffset(3600000);//清楚后恢复时间间隔
			}
		});

	}
Beispiel #15
0
 @Override
 public void setGestureOverlayViewVisible(int visibility) {
   mGestureOverLay.setVisibility(visibility);
 }
Beispiel #16
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.note_edit);

    GestureOverlayView gestureView = (GestureOverlayView) findViewById(R.id.edit_gestures);
    gestureView.setGestureColor(Color.TRANSPARENT);
    gestureView.setUncertainGestureColor(Color.TRANSPARENT);

    gLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
    if (!gLib.load()) {
      NotelyLogger.Log(TAG, "could not load gestures library");
      finish();
    } else {
      NotelyLogger.Log(TAG, "gestures library loaded");
    }

    gestureView.addOnGesturePerformedListener(handleGestureListener);

    Button confirmButton = (Button) findViewById(R.id.confirm);
    Button cancelButton = (Button) findViewById(R.id.cancel);

    // get shit back if there was a saved state
    mRowId =
        (savedInstanceState == null)
            ? null
            : (Long) savedInstanceState.getSerializable(NoteDb.KEY_ROWID);
    isEditable =
        (savedInstanceState == null)
            ? false
            : (Boolean) savedInstanceState.getSerializable(EDITABLE_FLAG);

    // also see if the id was passed in via an edit activity call
    if (mRowId == null) {
      Bundle extras = getIntent().getExtras();
      mRowId = extras != null ? extras.getLong(NoteDb.KEY_ROWID) : null;
    }

    // if you're editing an existing note, have it say edit since the default is to not be editable
    if (mRowId != null) {
      confirmButton.setText(R.string.edit);
      setTitle(R.string.edit_note);
    } else {
      setTitle(R.string.create_note);
    }

    instanceState = savedInstanceState;

    confirmButton.setOnClickListener(
        new View.OnClickListener() {

          public void onClick(View view) {

            EditText mTitleText = (EditText) findViewById(R.id.title);
            EditText mBodyText = (EditText) findViewById(R.id.body);
            EditText mBody2Text = (EditText) findViewById(R.id.body2);

            if (mRowId != null && isEditable == false) {

              NotelyLogger.Log(TAG, "setting things editable");

              isEditable = true;

              // swap views
              mBodyText.setVisibility(View.GONE);
              mBody2Text.setVisibility(View.VISIBLE);

              mTitleText.setFocusableInTouchMode(true);
              mTitleText.setCursorVisible(true);

              Button confirmButton = (Button) findViewById(R.id.confirm);
              Button cancelButton = (Button) findViewById(R.id.cancel);

              confirmButton.setText(R.string.confirm);
              cancelButton.setText(R.string.cancel);

            } else {

              boolean res = saveNote();

              if (res) {

                NotelyLogger.Log(TAG, "setting things not editable");

                isEditable = false;

                // update old text field
                String body2 = mBody2Text.getText().toString();
                mBodyText.setText(body2);

                // swap views
                mBodyText.setVisibility(View.VISIBLE);
                mBody2Text.setVisibility(View.GONE);

                mTitleText.setFocusable(false);
                mTitleText.setCursorVisible(false);

                Button confirmButton = (Button) findViewById(R.id.confirm);
                Button cancelButton = (Button) findViewById(R.id.cancel);

                confirmButton.setText(R.string.edit);
                cancelButton.setText(R.string.back);

                // close soft keyboard
                InputMethodManager inputManager =
                    (InputMethodManager)
                        NoteEdit.this.getSystemService(Context.INPUT_METHOD_SERVICE);
                inputManager.hideSoftInputFromWindow(
                    mBody2Text.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

              } else {

                if (mRowId != null) {
                  Toast.makeText(NoteEdit.this, R.string.toast_noupdateempty, Toast.LENGTH_SHORT)
                      .show();
                } else {
                  Toast.makeText(NoteEdit.this, R.string.toast_nocreateempty, Toast.LENGTH_SHORT)
                      .show();
                }
              }
            }
          }
        });

    cancelButton.setOnClickListener(
        new View.OnClickListener() {

          public void onClick(View v) {

            EditText mTitleText = (EditText) findViewById(R.id.title);
            EditText mBodyText = (EditText) findViewById(R.id.body);
            EditText mBody2Text = (EditText) findViewById(R.id.body2);

            if (isEditable == true) {

              isEditable = false;

              // set possibly edited text back
              String body = mBodyText.getText().toString();
              mBody2Text.setText(body);

              // set possibly edited title back too
              Note note = NoteHelper.getNote(NoteEdit.this, mRowId);
              mTitleText.setText(note.getTitle());

              // swap views
              mBodyText.setVisibility(View.VISIBLE);
              mBody2Text.setVisibility(View.GONE);

              mTitleText.setFocusable(false);
              mTitleText.setCursorVisible(false);

              Button confirmButton = (Button) findViewById(R.id.confirm);
              Button cancelButton = (Button) findViewById(R.id.cancel);

              confirmButton.setText(R.string.edit);
              cancelButton.setText(R.string.back);

              // close soft keyboard
              InputMethodManager inputManager =
                  (InputMethodManager) NoteEdit.this.getSystemService(Context.INPUT_METHOD_SERVICE);
              inputManager.hideSoftInputFromWindow(
                  mBody2Text.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

            } else {
              setResult(RESULT_OK);
              finish();
            }
          }
        });

    NotelyLogger.Log(TAG, "oncreate called");
  }