Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63617
Имитационное мо... 58640
Реклама
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 13,095
новичок: staros
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование литейного цеха на GPSS + Пояснительная записка
Моделирование автовокзала + Отчет + Блок схема
Сравнение двух бинарных деревьев на Turbo Pascal + отчет

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Исследование перетаскивания
На заметку! В конце будет дан URL-адрес, по которому можно загрузить проекты, рассмотренные в, и затем импортировать их непосредственно в Eclipse. В тексте будет приводиться только код, иллюстрирующий концепции. Для получения рабочего примера приложения понадобится загрузить проект для данной.
Первый пример приложения в этой называется TouchDragDemo. В настоящем разделе мы рассмотрим два ключевых файла:
/res/layout/main.xml
/src/com/androidbook/touch/dragdemo/Dot.java
Файл main.xml содержит компоновку для приложения, демонстрирующего перетаскивание. Содержимое этого файла о . Некоторые из ключевых концепций, которые следует отметить, касаются использования FrameLayout в качестве контейнера верхнего уровня, внутри которого находится контейнер LinearLayout, содержащий элементы TextView и специальный класс View по имени Dot. Поскольку LinearLayout и Dot сосуществуют в рамках FrameLayout, их позиции и размеры на самом деле не влияют друг на друга, однако они будут разделять свободное пространство экрана, располагаясь друг над другом. Пользовательский интерфейс этого приложения показан.
Обратите внимание, что имя пакета в XML-файле компоновки для элемента Dot должно совпадать с именем пакета, используемого для вашего приложения. Как упоминалось ранее, компоновка Dot отделена от LinearLayout. Причина в том, что нам нужна свобода перемещения точки по экрану; именно потому атрибуты layout_width и layout_height установлены в "fill_parent". Когда точка рисуется на экране, она должна быть видна, и если ограничить размеры представления точки диаметром этой точки, то ее не будет возможности увидеть при перетаскивании от исходной позиции.
На заметку! Формально можно было бы установить android:clipChildren в true в дескрипторе FrameLayout и выбрать для ширины и высоты контейнера компоновки точки вариант wrap_content, но такое решение не выглядит очевидным.
Каждый счетчик размещается с фоном, отступами, полями и тяготением, которые обеспечивают его отображение по правой стороне экрана. Мы начинаем с нулевых значений счетчиков, но вскоре вы у, что по мере перетаскивания поверх них точек эти значения будут инкрементироваться. Хотя в рассматриваемом примере применяются элементы TextView, в качестве цели перетаскивания можно было бы использовать практически любой объект View. А теперь посмотрим на Java-код класса Dot, . http://zonacomforta.com/garderobnyie/free-style/garderobnaya-komnata-iz-dsp-2/
Запустив это приложение, вы у белую точку на синем фоне. Можете коснуться точки и перетащить ее в рамках экрана. Когда вы уберете палец от экрана, точка останется на своем месте до тех пор, пока вы снова ее не коснетесь и перетащите куда- то в другое место. Метод draw помещает точку в ее текущую позицию с указанным левым верхним углом, скорректированную согласно радиусу точки. За счет получения объектов MotionEvent в методе onTouchEvent мы можем модифицировать позицию левого верхнего угла на величину перемещения при касании.
Поскольку пользователь не всегда касается в точности центра объекта, координаты касания не будут совпадать с координатами местоположения объекта. В этом и состоит назначение смещения: получить координаты левого верхнего края точки из позиции касания. Но еще до начала операции перетаскивания нам нужно удостовериться в том, что пользователь коснулся достаточно близко к точке. Если пользователь касается экрана далеко от точки, что формально находится внутри компоновки представления точки, то последовательность перетаскивания начинаться не должна. Именно поэтому мы смотрим, произведено ли касание внутри самой белой точки; если нет, мы просто возвращаем false, что препятствует получению любых других событий касания в данной последовательности касания.
Когда палец начинает перемещаться по экрану, мы уточняем местоположение объекта с использованием небольших изменений координат x и у из получаемых экземпляров MotionEvent. Когда перемещение останавливается (ACTION_UP), местоположение финализируется на основе координат последнего касания. В этом примере мы не должны заботиться о полосах прокрутки, которые могли бы затруднить вычисление позиции объекта на экране. Однако базовые принципы остаются теми же самыми. Зная начальное местоположение перемещаемого объекта, и также отслеживая значения изменений координат касания через диапазон действий с ACTION_DOWN до ACTION_UP, мы можем уточнять местоположение объекта на экране.
Опубликовал katy February 17 2015 22:01:03 · 0 Комментариев · 1609 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
PHP глазами хакера
Панель Календарь
Файловый менеджер
Программирование ...
VFW
ZipForge
Abbrevia
Развивающийся фла...
Delphix Sample [И...
Размещение элемен...
Экранная лупа
Векторный редакто...
Прграммирование в...
Философия C++. Пр...
Шейдеры в Delphi
PBFoldder
Панель для реклам...
Delphi7 Для профе...
Язык программиров...
CABfiles

Топ загрузок
Приложение Клие... 100490
Delphi 7 Enterp... 88213
Converter AMR<-... 20084
GPSS World Stud... 13851
Borland C++Buil... 12154
Borland Delphi ... 8712
Turbo Pascal fo... 7058
Visual Studio 2... 5007
Калькулятор [Ис... 4936
FreeSMS v1.3.1 3547
Случайные статьи
Получи, клиент, ра...
Процедура SetAspec...
Too many files
String constant ex...
Разберемся теперь ...
Листинг 14.4. Доба...
Чистка монитора, п...
Шаблоны для Joomla
Узлы XPath
INFORMATION_SCHEMA
Представление симв...
Настройки приватности
Как быть, если хос...
Этап 1 - исключени...
Файл R.java
Разработка приложе...
Изменение звуковой...
Туннельный порт ко...
Мастер на час Самара
В альманахах табли...
Вывод в текущее по...
Web Proxy
Возможности имитац...
Создание пользоват...
Контроль состава а...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?