Skip to main content

Drag and drop image in android

Ever wonder how to drag and drop in android. Lets check how to drag and drop image in android.

MainActivity.java



package com.example.dragdrop;

import android.app.Activity;
import android.content.ClipData;
import android.content.ClipDescription;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.util.Log;
import android.view.DragEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.DragShadowBuilder;
import android.view.View.OnClickListener;
import android.view.View.OnDragListener;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.ImageView.ScaleType;
import android.widget.RelativeLayout;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity  {
 ImageView img_model, img_chain;
 private static final String IMAGEVIEW_TAG = "Android Logo";
 private android.widget.RelativeLayout.LayoutParams layoutParams;
 String msg;
 int windowwidth, windowheight;
 float x, y, dx, dy;
 Bitmap bMap;
 //SeekBar seek;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 
  img_chain = (ImageView) findViewById(R.id.img2);
  img_model = (ImageView) findViewById(R.id.img1);
  bMap = BitmapFactory
    .decodeResource(getResources(), R.drawable.chainsss);
 
  img_chain.setOnTouchListener(new OnTouchListener() {

   @Override
   public boolean onTouch(View v, MotionEvent event) {

    // TODO Auto-generated method stub
    layoutParams = (RelativeLayout.LayoutParams) img_chain
      .getLayoutParams();
    /*
     * switch(event.getActionMasked()) {
     */

    Matrix matrix = new Matrix();
    img_chain.setScaleType(ScaleType.MATRIX); // required
    matrix.postRotate((float) 30, 20, 50);

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: {
     x = event.getX();// 2.3 not supported
     y = event.getY();// 2.3 not supported
     dx = x - img_chain.getX();// 2.3 not supported
     dy = y - img_chain.getY();// 2.3 not supported
    }

     return true;
    case MotionEvent.ACTION_MOVE: {
     img_chain.setX(event.getX() - dx);// 2.3 not supported
     img_chain.setY(event.getY() - dy);// 2.3 not supported

    }
     return true;
    case MotionEvent.ACTION_UP: {
     // your stuff
    }
     return true;
    }
    return false;

   }
  });
 }

}
activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.dragdrop.MainActivity" >
 <ImageView
            android:id="@+id/img1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:layout_gravity="center"
            android:src="@drawable/model" />
        <ImageView
            android:id="@+id/img2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/chainsss"
            android:layout_gravity="center"
            android:layout_marginTop="60dp" /> 
</RelativeLayout>

Comments

Popular posts from this blog

How to record and save a video in Android

Let's record a video :). Check the code snippet. First need to give necessary permissions. So add these permissions to AndroidManifest.xml   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   <uses-permission android:name="android.permission.RECORD_AUDIO" /> MainActivity.java import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { Button btn_record; pu

How to create a flash light on Android

I always wonder the use of a flash light on a phone. This simple app is more useful than anything. So here is the code to build a flashlight app, MainActivity.java import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageButton; public class MainActivity extends Activity { ImageButton btnSwitch; private Camera camera; private boolean isFlashOn; private boolean hasFlash; Parameters params; MediaPlayer mp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // flash switch button

How to implement a fragment in Android

 We can call fragment as a sub activity. By using fragment navigation will more easier and in tabs layouts look cool.Let us see an example..... Here we have 2 fragment class Details, and Detail2. MainActivity.java import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Here we call the first fragment Fragment fragment = null; fragment = new Options(); FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.replace(R.id.frame1, fragment).commit(); } } Options.java import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View