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

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

Моделирование процесса обеспечивающего надежность функционирования АСУ Т...
Программа тестирования и обучающая программа по математике на Turbo Pasc...
Моделирование работы крупного аэропорта на 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 Комментариев · 1634 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
База игр
База для Allsubmi...
Tenis [Исходник н...
HtmlLerz PRO
DeleteEdit
C# в кратком изло...
MiniChat
Delphi 7 Enterpri...
Язык программиров...
Импорт новостей ...
StartMark
JanButtonsV
DiZsubmit
Аватары в комме...
iComm v.6.1 - выв...
База данных фильм...
AlignEdit
CoolHints2k
Atb
База данных: Книж...

Топ загрузок
Приложение Клие... 100505
Delphi 7 Enterp... 89568
Converter AMR<-... 20090
GPSS World Stud... 14465
Borland C++Buil... 12520
Borland Delphi ... 8879
Turbo Pascal fo... 7082
Калькулятор [Ис... 5061
Visual Studio 2... 5016
FreeSMS v1.3.1 3552
Случайные статьи
Типы float и int з...
Поле адреса 1 байт
Ограничения на дли...
Сжатие данных
Доменные зоны мира
ЧТО ТАКОЕ НОРМАЛИ...
В словаре, который...
Про закон Парето в...
Использование DLL ...
Новый корпус для ж...
ОСНОВЫ ВЗЛОМА
Office 365 уже сег...
Глава 3. Работа с ...
Какую из масок выб...
Оператор "нормпред...
Стандартные подпро...
Функция binary_sea...
Переключатель Micr...
Поиск строки в файле
Самая большая дыра...
Как проиндексирова...
Настройка туннельн...
Документация
Подготовка к серти...
Облегчайте переход
Статистика



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


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