2 package com.cyngn.eleven.dragdrop;
4 import android.graphics.Bitmap;
5 import android.graphics.Color;
6 import android.graphics.Point;
7 import android.view.View;
8 import android.widget.ImageView;
9 import android.widget.ListView;
12 * Simple implementation of the FloatViewManager class. Uses list items as they
13 * appear in the ListView to create the floating View.
15 public class SimpleFloatViewManager implements DragSortListView.FloatViewManager {
17 private final ListView mListView;
19 private Bitmap mFloatBitmap;
21 private int mFloatBGColor = Color.BLACK;
23 public SimpleFloatViewManager(ListView lv) {
27 public void setBackgroundColor(int color) {
28 mFloatBGColor = color;
32 * This simple implementation creates a Bitmap copy of the list item
33 * currently shown at ListView <code>position</code>.
36 public View onCreateFloatView(int position) {
37 View v = mListView.getChildAt(position + mListView.getHeaderViewsCount()
38 - mListView.getFirstVisiblePosition());
46 v.setDrawingCacheEnabled(true);
47 mFloatBitmap = Bitmap.createBitmap(v.getDrawingCache());
48 v.setDrawingCacheEnabled(false);
50 ImageView iv = new ImageView(mListView.getContext());
51 iv.setBackgroundColor(mFloatBGColor);
52 iv.setPadding(0, 0, 0, 0);
53 iv.setImageBitmap(mFloatBitmap);
59 * Removes the Bitmap from the ImageView created in onCreateFloatView() and
60 * tells the system to recycle it.
63 public void onDestroyFloatView(View floatView) {
64 ((ImageView)floatView).setImageDrawable(null);
66 mFloatBitmap.recycle();
74 public void onDragFloatView(View floatView, Point position, Point touch) {