Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.primus.layoutitemanimation;
- import java.util.ArrayList;
- import java.util.Collections;
- import android.content.Context;
- import android.util.Log;
- import android.view.DragEvent;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.View.OnDragListener;
- import android.view.ViewGroup;
- import android.view.animation.Animation;
- import android.view.animation.Animation.AnimationListener;
- import android.view.animation.AnimationUtils;
- import android.view.animation.TranslateAnimation;
- import android.widget.BaseAdapter;
- import android.widget.ImageView;
- public class ImageAdapter extends BaseAdapter{
- Context context;
- private ArrayList<Integer> mImage_list;
- private LayoutInflater lay_inflator;
- private Mylistner listener;
- private View first_touch_view,sec_touch_view;
- private int first_touch_id,sec_touch_id;
- private int sec_view_x_axis,sec_view_y_axis;
- private int firstview_last_x_axis,firstview_last_y_axis;
- private int firstview_drop_x_axis,firstview_drop_y_axis;
- public final Animation m_animation,sec_animation;
- public ImageAdapter(Context cxt)
- {
- mImage_list=new ArrayList<Integer>();
- context=cxt;
- mImage_list.add(R.drawable.images1);
- mImage_list.add(R.drawable.images10);
- mImage_list.add(R.drawable.images11);
- mImage_list.add(R.drawable.images12);
- mImage_list.add(R.drawable.images13);
- mImage_list.add(R.drawable.images14);
- mImage_list.add(R.drawable.images15);
- mImage_list.add(R.drawable.images16);
- mImage_list.add(R.drawable.images17);
- mImage_list.add(R.drawable.images18);
- lay_inflator=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- m_animation=AnimationUtils.loadAnimation(context, R.anim.scale_image_anim);
- sec_animation=AnimationUtils.loadAnimation(context, R.anim.second_scale_anim);
- }
- public void registerListenerforAdapter(Mylistner mlistener)
- {
- listener=mlistener;
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return mImage_list.size();
- }
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) {
- // TODO Auto-generated method stub
- final View_Holder mholder;
- if(convertView==null)
- {
- mholder=new View_Holder();
- convertView=lay_inflator.inflate(R.layout.grid_view_item, null);
- mholder.grid_image=(ImageView) convertView.findViewById(R.id.imageView1);
- convertView.setTag(mholder);
- }
- else
- {
- mholder=(View_Holder) convertView.getTag();
- }
- mholder.id=position;
- mholder.grid_image.setId(position);
- mholder.grid_image.setImageResource(mImage_list.get(position));
- mholder.grid_image.setOnTouchListener(new MyTouchListener());
- mholder.grid_image.setOnDragListener(new OnDragListener() {
- @Override
- public boolean onDrag(View v, DragEvent event) {
- // TODO Auto-generated method stub
- first_touch_view=MyTouchListener.first_image_view;
- first_touch_id=MyTouchListener.view_position;
- sec_touch_view=v;
- sec_touch_id=v.getId();
- switch(event.getAction())
- {
- case DragEvent.ACTION_DRAG_STARTED:
- firstview_last_x_axis=MyTouchListener.first_last_touch_x_axis;
- firstview_last_y_axis=MyTouchListener.first_last_touch_y_axis;
- Log.e("X_AXIS S",".."+firstview_last_x_axis);
- Log.e("Y_AXIS S", ".."+firstview_last_y_axis);
- Log.v("START", "DRAG");
- break;
- case DragEvent.ACTION_DRAG_ENTERED:
- first_touch_view.setBackgroundResource(R.drawable.shape);
- Log.d("ENTER", "DRAG");
- break;
- case DragEvent.ACTION_DRAG_LOCATION:
- sec_view_x_axis=(int) event.getX();
- sec_view_y_axis=(int) event.getY();
- Log.v("sEC X_AXIS,Y_AXIS", ""+sec_view_x_axis+"..,"+sec_view_y_axis);
- break;
- case DragEvent.ACTION_DROP:
- Collections.swap(mImage_list, first_touch_id, sec_touch_id);
- listener.change();
- sec_touch_view.setBackgroundResource(R.drawable.shape_droptarget);
- Log.e("DROP", "DRAG");
- firstview_drop_x_axis=MyTouchListener.first_last_touch_x_axis;
- firstview_drop_y_axis=MyTouchListener.first_last_touch_y_axis;
- Log.e("X_AXISD",".."+MyTouchListener.first_last_touch_x_axis);
- Log.e("Y_AXISD", ".."+MyTouchListener.first_last_touch_y_axis);
- sec_touch_view.setAnimation(m_animation);
- m_animation.setRepeatCount(0);
- sec_touch_view.startAnimation(m_animation);
- break;
- case DragEvent.ACTION_DRAG_ENDED:
- sec_touch_view.setBackgroundResource(R.drawable.shape);
- sec_touch_view.setVisibility(View.VISIBLE);
- first_touch_view.setVisibility(View.VISIBLE);
- m_animation.setAnimationListener(new AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onAnimationRepeat(Animation animation) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onAnimationEnd(Animation animation) {
- // TODO Auto-generated method stub
- first_touch_view.setVisibility(View.VISIBLE);
- first_touch_view.setAnimation(sec_animation);
- first_touch_view.startAnimation(sec_animation);
- }
- });
- Log.d("END", "DRAG");
- break;
- case DragEvent.ACTION_DRAG_EXITED:
- Log.d("EXIT", "DRAG");
- break;
- }
- return true;
- }
- });
- return convertView;
- }
- class View_Holder
- {
- int id;
- ImageView grid_image;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement