Перетащите Android 2.2 - PullRequest
       24

Перетащите Android 2.2

1 голос
/ 02 апреля 2012

Я должен создать приложение для Android, которое загружает изображения из sqlite db и показывает их на экране планшета.
Я бы понял, что перетаскивание позволяет вставлять, удалять и перемещать все изображения на экран, имитируя настольный компьютер.screen:)
Итак, я знаю, что есть класс перетаскивания, но он работает по крайней мере с уровнем API 11.
Мой вопрос: есть какой-то пример, учебник или кто-то может объяснить мне, как я могу реализоватьперетаскивание с уровня Android API 8?
Заранее спасибо.
Марко.

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

Был похожий вопрос о переполнении стека, связанный с перетаскиванием. Я предоставил ссылки на некоторые учебники, которые я написал, которые работают с API 8 и выше. См. Перетаскивание кнопки из одного линейного макета в другой линейный макет .

1 голос
/ 02 апреля 2012

Вы можете сделать это, внедрив OnTouchListener и переопределив public boolean onTouch (Просмотр представления, MotionEvent me) проверьте эту ссылку http://techdroid.kbeanie.com/2010/04/simple-drag-n-drop-on-android.html

или вы можете использовать http://developer.android.com/guide/topics/ui/drag-drop.html требуется API 11: (

0 голосов
/ 24 января 2013

Как реализовать перетаскивание в Android 2.2?

Есть мой класс DragDropManager.class, который вы видите, что это возможно.В этой библиотеке вы можете перетаскивать что угодно, потому что это делает визуальную копию объекта, чтобы вы видели, что вы перетаскиваете.Также я использую плавающий объект PopupWindow, чтобы вы могли перетащить объект туда, где он есть, не меняя макетов.

listview.setOnScrollListener(new OnScrollListener()
        {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState)
            {
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
            {

                try
                {
                    System.out.println("OK");
                    for(int i=firstVisibleItem;i<(firstVisibleItem+visibleItemCount);i++)
                    {
                        //view.getChildAt(i).setOnTouchListener(onTouchListener);
                        view.getChildAt(i).setOnLongClickListener(onLongClickListener);
                    }
                }
                catch (Exception e) {
                    System.out.println("Err");
                }

            }
        });

private OnLongClickListener onLongClickListener = new OnLongClickListener()
{

    @Override
    public boolean onLongClick(View v)
    {
        DragDropManager.getInstance().startDragging(v, "example");
        return false;
    }
};
...