Навигация
Главная
Поиск
Форум
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 65411
ТЕХНОЛОГИИ ДОСТ... 62309
Имитационное мо... 57990
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

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

База данных студентов на Delphi (файл записей) + Блок схемы
Моделирование работы ЭВМ на GPSS + Пояснительная записка
Моделирование работы крупного аэропорта на GPSS + Пояснительная записка

Реклама



Подписывайся на 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 Комментариев · 1581 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
C# в кратком изло...
Разработка распре...
SODA [Исходник на...
Базы данных в Инт...
Zoom [Исходник на...
Отключение и вклю...
AddPage [Исходник...
Rss Parser
База данных: Книж...
Панель "Случайное...
Calendar
Microsoft Press -...
Handles
Удаление своего EXE
База англоязычных...
Платформа програм...
Фильтры изображений
Srinilist
Программирование ...
Библия для програ...

Топ загрузок
Приложение Клие... 100471
Delphi 7 Enterp... 87433
Converter AMR<-... 20080
GPSS World Stud... 13063
Borland C++Buil... 11922
Borland Delphi ... 8631
Turbo Pascal fo... 7041
Visual Studio 2... 5000
Калькулятор [Ис... 4853
FreeSMS v1.3.1 3543
Случайные статьи
Пример работы с по...
Замена пластиковог...
Список ВСЕХ русски...
Установка и удален...
Эвристические мето...
TIdSMTP и TIdIMAP4...
Функция MessageBox...
Основные принципы ...
lucernepublishing
Службы
Ускоренное деление
String length mism...
Выноски
Systems Management...
Набор команд объек...
Экскурсии из Праги...
Аккуратно работаем...
Оператор "нормпред...
Файлы не подчиняют...
Идеалы программиро...
Коды, исправляющие...
Групповое взаимоде...
ЦЕЛЬ: ХРАНЕНИЕ МНО...
Изменение собствен...
Обобщение алгоритм...
Статистика



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


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