Android Open Source - LimeLight Drag And Edit View






From Project

Back to project page LimeLight.

License

The source code is released under:

GNU General Public License

If you think the Android project LimeLight listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0, as well as to the Additional Term regarding proper
 attribution. The latter is located in Term 11 of the License.
 If a copy of the MPL with the Additional Term was not distributed
 with this file, You can obtain one at http://static.fuzzhq.com/licenses/MPL
 *///from w  ww .  j  a v a2 s. c o m

package com.fuzz.android.limelight.recorder.widget.drag;

import android.animation.ValueAnimator;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;

import com.fuzz.android.limelight.animation.AnimationHolder;
import com.fuzz.android.limelight.model.Act;

/**
 * @author Leonard Collins (Fuzz)
 */
class DragAndEditView extends FrameLayout {
    private OffSetChangeListener mOffSetChangeListener;
    private float mInitialX;
    private float mInitialY;
    private Act mAct;
    private AnimationHolder mAnimationHolder;

    public DragAndEditView(Context context) {
        super(context);
    }

    public DragAndEditView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public DragAndEditView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public DragAndEditView(Context context, View child) {
        super(context);
        if (child.getParent() != null) {
            ((ViewGroup) child.getParent()).removeAllViews();
        }
        addView(child);

        mAct = (Act) child.getTag();
        mAnimationHolder = mAct.getAnimationHolder();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            if (mAct.getAnimationHolder() != null) {
                try {
                    mAct.getAnimationHolder().getAnimation().setRepeatCount(0);
                    mAct.getAnimationHolder().getAnimation().end();
                } catch (Exception e) {

                }
            }
            mInitialX = event.getX();
            mInitialY = event.getY();
        } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
            float dx = event.getX() - mInitialX;
            float dy = event.getY() - mInitialY;
            mOffSetChangeListener.onOffSetChange(this, dx, dy);
        } else if (event.getAction() == MotionEvent.ACTION_UP) {
            if (mAct.getAnimationHolder() != null) {
                try {
                    mAct.getAnimationHolder().getAnimation().setTarget(mAct.getLayout());
                    mAct.getAnimationHolder().getAnimation().setRepeatCount(ValueAnimator.INFINITE);
                    //TODO: Act Animation
                    mAct.getAnimationHolder().getAnimation().start();
                } catch (Exception e) {

                }
            }
        }
        super.onTouchEvent(event);
        return true;
    }

    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        mOffSetChangeListener = (OffSetChangeListener) getParent();
    }
}




Java Source Code List

com.fuzz.android.limelight.LimeLight.java
com.fuzz.android.limelight.animation.AnimationHolder.java
com.fuzz.android.limelight.animation.LeftRightAnimation.java
com.fuzz.android.limelight.animation.UpDownAnimation.java
com.fuzz.android.limelight.automate.DrawerAutomator.java
com.fuzz.android.limelight.automate.ViewAutomator.java
com.fuzz.android.limelight.model.ActToViewHelper.java
com.fuzz.android.limelight.model.Act.java
com.fuzz.android.limelight.model.BaseChapter.java
com.fuzz.android.limelight.model.Book.java
com.fuzz.android.limelight.model.ChapterTransition.java
com.fuzz.android.limelight.model.Chapter.java
com.fuzz.android.limelight.model.ModelHelper.java
com.fuzz.android.limelight.model.Text.java
com.fuzz.android.limelight.model.Transition.java
com.fuzz.android.limelight.recorder.FontListAdapter.java
com.fuzz.android.limelight.recorder.RecorderClickListener.java
com.fuzz.android.limelight.recorder.RecorderWindow.java
com.fuzz.android.limelight.recorder.Recorder.java
com.fuzz.android.limelight.recorder.widget.color.ColorHueSlider.java
com.fuzz.android.limelight.recorder.widget.color.ColorPickDialog.java
com.fuzz.android.limelight.recorder.widget.color.ColorSquareView.java
com.fuzz.android.limelight.recorder.widget.color.OnColorChangedListener.java
com.fuzz.android.limelight.recorder.widget.drag.DragAndEditView.java
com.fuzz.android.limelight.recorder.widget.drag.EditorFrameLayout.java
com.fuzz.android.limelight.recorder.widget.drag.OffSetChangeListener.java
com.fuzz.android.limelight.recorder.widget.editor.ActEditor.java
com.fuzz.android.limelight.recorder.widget.editor.ActIconAdapter.java
com.fuzz.android.limelight.recorder.widget.editor.operations.BaseOperation.java
com.fuzz.android.limelight.recorder.widget.editor.operations.ChangeAnimationOperation.java
com.fuzz.android.limelight.recorder.widget.editor.operations.ChangeBackgroundColorOperation.java
com.fuzz.android.limelight.recorder.widget.editor.operations.ChangeIconOperation.java
com.fuzz.android.limelight.recorder.widget.editor.operations.SetTextColorOperation.java
com.fuzz.android.limelight.recorder.widget.filedialog.FileDirectoryDialog.java
com.fuzz.android.limelight.recorder.widget.filedialog.OnDirectorySelectListener.java
com.fuzz.android.limelight.recorder.widget.snap.SnapHelper.java
com.fuzz.android.limelight.recorder.widget.snap.SnapInfo.java
com.fuzz.android.limelight.text.PrimeTextWatcher.java
com.fuzz.android.limelight.util.FontUtils.java
com.fuzz.android.limelight.util.IOUtils.java
com.fuzz.android.limelight.util.JSONTool.java
com.fuzz.android.limelight.util.LimeLightLog.java
com.fuzz.android.limelight.util.ViewUtils.java
com.fuzz.android.limelight.view.PrimeClickListener.java
com.fuzz.android.limelight.widget.ManualPositionFrameLayout.java