OSDN Git Service

T29283
authorYuji Konishi <yuji.k64613@gmail.com>
Sat, 18 Aug 2012 02:05:38 +0000 (11:05 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Sat, 18 Aug 2012 02:05:38 +0000 (11:05 +0900)
source/workspace/EverFolder/src/com/yuji/ef/IconFrameLayout.java

index ad425e6..d230b73 100644 (file)
@@ -34,7 +34,7 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
        private IconScrollView scrollView;
        private Context context = this.getContext();
        private boolean elabledTouchEvent = true;
-       
+
        public IconFrameLayout(Context context) {
                super(context);
        }
@@ -160,20 +160,21 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                        for (LabelIconView view : labelIconViewList) {
                                if (view.getNodeId() == id) {
                                        cutTarget = view;
-                                       cutTarget.clearColorFilter();
-                                       cutTarget.setAlpha(64);
+                                       if (selectedTarget != cutTarget) {
+                                               clearColorFilter(cutTarget);
+                                       }
                                }
                        }
                }
        }
 
        public void clearTarget() {
-               if (selectedTarget != null){
+               if (selectedTarget != null) {
                        selectedTarget.clearColorFilter();
                        selectedTarget = null;
                }
        }
-       
+
        public LabelIconView getCutTarget() {
                return cutTarget;
        }
@@ -181,19 +182,39 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
        public void setCutTarget(LabelIconView cutTarget) {
                setCutTarget(cutTarget, true);
        }
-       
+
        public void setCutTarget(LabelIconView cutTarget, boolean isUnselected) {
                this.cutTarget = cutTarget;
-               if (isUnselected){
+               if (isUnselected) {
                        selectedTarget = null;
                        target = null;
                }
        }
 
+       private void setSelected(LabelIconView t) {
+               t.setAlpha(255);
+               t.setColorFilter(0x88ff0000, Mode.LIGHTEN);
+       }
+
+       private void setAlpha(LabelIconView v) {
+               v.setAlpha(255);
+       }
+
+       private void setGrayAlpha(LabelIconView v) {
+               v.setAlpha(128);
+       }
+
+       private void clearColorFilter(LabelIconView v) {
+               v.clearColorFilter();
+               if (v == cutTarget) {
+                       setGrayAlpha(v);
+               }
+       }
+
        @Override
        public boolean onTouchEvent(MotionEvent event) {
                try {
-                       if (!isElabledTouchEvent()){
+                       if (!isElabledTouchEvent()) {
                                return super.onTouchEvent(event);
                        }
 
@@ -270,14 +291,14 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                                if (destTarget == null) {
                                        if (v != null) {
                                                destTarget = v;
-                                               destTarget.setAlpha(128);
+                                               setGrayAlpha(destTarget);
                                        }
                                } else {
                                        if (v != destTarget) {
-                                               destTarget.setAlpha(255);
+                                               setAlpha(destTarget);
                                                destTarget = v;
                                                if (destTarget != null) {
-                                                       destTarget.setAlpha(128);
+                                                       setGrayAlpha(destTarget);
                                                }
                                        }
                                }
@@ -285,26 +306,26 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                                // if (obj == target){
                                if (obj != null) {
                                        if (obj != target) {
-                                               target.clearColorFilter();
+                                               clearColorFilter(target);
                                                target = obj;
                                        }
                                        // if (target instanceof StatusIconView){
                                        if (target.getSelectedView(sx - target.getLeft(), sy
                                                        - target.getTop()) instanceof StatusIconView) {
-//                                             StatusIconView siv = (StatusIconView) target;
-//                                             LabelIconView rv = siv.getRoot();
-//                                             long id = rv.getNodeId();
+                                               // StatusIconView siv = (StatusIconView) target;
+                                               // LabelIconView rv = siv.getRoot();
+                                               // long id = rv.getNodeId();
                                                long id = target.getNodeId();
-                                               
+
                                                activity.execute(id);
                                                return super.onTouchEvent(event);
-                                               //return true;
+                                               // return true;
                                        }
 
                                        if (selectedTarget != null && selectedTarget == target) {
                                                long id = selectedTarget.getNodeId();
 
-                                               target.clearColorFilter();
+                                               clearColorFilter(target);
                                                target = null;
                                                selectedTarget = target;
                                                activity.targetSelectedChanged(true);
@@ -313,7 +334,7 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
 
                                                return super.onTouchEvent(event);
                                        }
-                                       
+
                                        // ここに移動
                                        scrollView.requestDisallowInterceptTouchEvent(true);
 
@@ -328,9 +349,9 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                                        activity.targetSelectedChanged(true);
 
                                        // コメントにしたが、デグレードするかも
-                                       //scrollView.setScrollable(false);
+                                       // scrollView.setScrollable(false);
                                } else {
-                                       target.clearColorFilter();
+                                       clearColorFilter(target);
                                        target = null;
                                        selectedTarget = target;
                                        activity.targetSelectedChanged(false);
@@ -342,7 +363,7 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                                }
                                if (target instanceof StatusIconView) {
                                        return super.onTouchEvent(event);
-                                       //return true;
+                                       // return true;
                                }
                                obj = target;
 
@@ -356,7 +377,7 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                                        int srcY = target.getInitY();
                                        target.layout(srcX, srcY, srcX + target.getWidth(), srcY
                                                        + target.getHeight());
-                                       target.setAlpha(255);
+                                       setAlpha(target);
                                } else {
                                        long src = target.getNodeId();
                                        long dst = destTarget.getNodeId();
@@ -384,14 +405,9 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                }
        }
 
-       private void setSelected(LabelIconView t) {
-               t.setAlpha(255);
-               t.setColorFilter(0x88ff0000, Mode.LIGHTEN);
-       }
-
        @Override
        public boolean onLongClick(View view) {
-               if (!isElabledTouchEvent()){
+               if (!isElabledTouchEvent()) {
                        return true;
                }
                if (target == null) {
@@ -402,7 +418,7 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                }
 
                LabelIconView v = (LabelIconView) target;
-               v.setAlpha(128);
+               setGrayAlpha(v);
                v.clearColorFilter();
 
                moveTop(target);
@@ -410,12 +426,12 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
                longClickFlg = true;
                return true;
        }
-       
+
        public boolean isElabledTouchEvent() {
                return elabledTouchEvent;
        }
 
        public void setElabledTouchEvent(boolean elabledTouchEvent) {
                this.elabledTouchEvent = elabledTouchEvent;
-       }       
+       }
 }