Advertisement
babusaatbhoni

Adapter class

Apr 12th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.76 KB | None | 0 0
  1. package com.primus.layoutitemanimation;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5.  
  6. import android.content.Context;
  7. import android.util.Log;
  8. import android.view.DragEvent;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.View.OnDragListener;
  12. import android.view.ViewGroup;
  13. import android.view.animation.Animation;
  14. import android.view.animation.Animation.AnimationListener;
  15. import android.view.animation.AnimationUtils;
  16. import android.view.animation.TranslateAnimation;
  17. import android.widget.BaseAdapter;
  18. import android.widget.ImageView;
  19.  
  20. public class ImageAdapter extends BaseAdapter{
  21.  
  22.     Context context;
  23.     private ArrayList<Integer> mImage_list;
  24.     private LayoutInflater lay_inflator;
  25.     private Mylistner listener;
  26.    
  27.     private View first_touch_view,sec_touch_view;
  28.     private int first_touch_id,sec_touch_id;
  29.     private int sec_view_x_axis,sec_view_y_axis;
  30.     private int firstview_last_x_axis,firstview_last_y_axis;
  31.     private int firstview_drop_x_axis,firstview_drop_y_axis;
  32.     public final Animation m_animation,sec_animation;
  33.    
  34.    
  35.     public ImageAdapter(Context cxt)
  36.     {
  37.         mImage_list=new ArrayList<Integer>();
  38.         context=cxt;
  39.         mImage_list.add(R.drawable.images1);
  40.         mImage_list.add(R.drawable.images10);
  41.         mImage_list.add(R.drawable.images11);
  42.         mImage_list.add(R.drawable.images12);
  43.         mImage_list.add(R.drawable.images13);
  44.         mImage_list.add(R.drawable.images14);
  45.         mImage_list.add(R.drawable.images15);
  46.         mImage_list.add(R.drawable.images16);
  47.         mImage_list.add(R.drawable.images17);
  48.         mImage_list.add(R.drawable.images18);
  49.        
  50.         lay_inflator=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  51.        
  52.         m_animation=AnimationUtils.loadAnimation(context, R.anim.scale_image_anim);
  53.         sec_animation=AnimationUtils.loadAnimation(context, R.anim.second_scale_anim);
  54.     }
  55.    
  56.     public void registerListenerforAdapter(Mylistner mlistener)
  57.     {
  58.         listener=mlistener;
  59.     }
  60.    
  61.    
  62.     @Override
  63.     public int getCount() {
  64.         // TODO Auto-generated method stub
  65.         return mImage_list.size();
  66.     }
  67.  
  68.     @Override
  69.     public Object getItem(int position) {
  70.         // TODO Auto-generated method stub
  71.         return position;
  72.     }
  73.  
  74.     @Override
  75.     public long getItemId(int position) {
  76.         // TODO Auto-generated method stub
  77.         return position;
  78.     }
  79.  
  80.     @Override
  81.     public View getView(final int position, View convertView, ViewGroup parent) {
  82.         // TODO Auto-generated method stub
  83.         final View_Holder mholder;
  84.         if(convertView==null)
  85.         {
  86.             mholder=new View_Holder();
  87.             convertView=lay_inflator.inflate(R.layout.grid_view_item, null);
  88.             mholder.grid_image=(ImageView) convertView.findViewById(R.id.imageView1);
  89.             convertView.setTag(mholder);   
  90.         }
  91.         else
  92.         {
  93.             mholder=(View_Holder) convertView.getTag();
  94.         }
  95.        
  96.         mholder.id=position;
  97.         mholder.grid_image.setId(position);
  98.         mholder.grid_image.setImageResource(mImage_list.get(position));
  99.        
  100.         mholder.grid_image.setOnTouchListener(new MyTouchListener());
  101.        
  102.         mholder.grid_image.setOnDragListener(new OnDragListener() {
  103.            
  104.             @Override
  105.             public boolean onDrag(View v, DragEvent event) {
  106.                 // TODO Auto-generated method stub
  107.                
  108.                 first_touch_view=MyTouchListener.first_image_view;
  109.                 first_touch_id=MyTouchListener.view_position;
  110.                 sec_touch_view=v;
  111.                 sec_touch_id=v.getId();
  112.                 switch(event.getAction())
  113.                 {
  114.                 case DragEvent.ACTION_DRAG_STARTED:
  115.                     firstview_last_x_axis=MyTouchListener.first_last_touch_x_axis;
  116.                     firstview_last_y_axis=MyTouchListener.first_last_touch_y_axis;
  117.                     Log.e("X_AXIS S",".."+firstview_last_x_axis);
  118.                     Log.e("Y_AXIS S", ".."+firstview_last_y_axis);
  119.                     Log.v("START", "DRAG");
  120.                     break;
  121.                 case DragEvent.ACTION_DRAG_ENTERED:
  122.                     first_touch_view.setBackgroundResource(R.drawable.shape);
  123.                     Log.d("ENTER", "DRAG");
  124.                     break;
  125.                 case DragEvent.ACTION_DRAG_LOCATION:
  126.                     sec_view_x_axis=(int) event.getX();
  127.                     sec_view_y_axis=(int) event.getY();
  128.                     Log.v("sEC X_AXIS,Y_AXIS", ""+sec_view_x_axis+"..,"+sec_view_y_axis);
  129.                    
  130.                     break;
  131.                 case DragEvent.ACTION_DROP:
  132.                
  133.                     Collections.swap(mImage_list, first_touch_id, sec_touch_id);
  134.                     listener.change();
  135.                     sec_touch_view.setBackgroundResource(R.drawable.shape_droptarget);
  136.                     Log.e("DROP", "DRAG");
  137.                     firstview_drop_x_axis=MyTouchListener.first_last_touch_x_axis;
  138.                     firstview_drop_y_axis=MyTouchListener.first_last_touch_y_axis;
  139.                     Log.e("X_AXISD",".."+MyTouchListener.first_last_touch_x_axis);
  140.                     Log.e("Y_AXISD", ".."+MyTouchListener.first_last_touch_y_axis);
  141.                     sec_touch_view.setAnimation(m_animation);
  142.                     m_animation.setRepeatCount(0);
  143.                     sec_touch_view.startAnimation(m_animation);
  144.                    
  145.                    
  146.                    
  147.                     break;
  148.                 case DragEvent.ACTION_DRAG_ENDED:
  149.                     sec_touch_view.setBackgroundResource(R.drawable.shape);
  150.                     sec_touch_view.setVisibility(View.VISIBLE);
  151.                     first_touch_view.setVisibility(View.VISIBLE);
  152.                     m_animation.setAnimationListener(new AnimationListener() {
  153.                        
  154.                         @Override
  155.                         public void onAnimationStart(Animation animation) {
  156.                             // TODO Auto-generated method stub
  157.                            
  158.                         }
  159.                        
  160.                         @Override
  161.                         public void onAnimationRepeat(Animation animation) {
  162.                             // TODO Auto-generated method stub
  163.                            
  164.                         }
  165.                        
  166.                         @Override
  167.                         public void onAnimationEnd(Animation animation) {
  168.                             // TODO Auto-generated method stub
  169.                             first_touch_view.setVisibility(View.VISIBLE);
  170.                             first_touch_view.setAnimation(sec_animation);
  171.                             first_touch_view.startAnimation(sec_animation);
  172.                         }
  173.                     });
  174.                     Log.d("END", "DRAG");
  175.                     break;
  176.                 case DragEvent.ACTION_DRAG_EXITED:
  177.                     Log.d("EXIT", "DRAG");
  178.                     break;
  179.                 }
  180.                
  181.                
  182.                 return true;
  183.             }
  184.         });
  185.        
  186.         return convertView;
  187.     }
  188.    
  189.     class View_Holder
  190.     {
  191.         int id;
  192.         ImageView grid_image;
  193.     }
  194.    
  195.  
  196.  
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement