Android! Разработка мобильных



Pdf көрінісі
бет46/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   42   43   44   45   46   47   48   49   ...   87
Рис . 4 .1 . Рисование текста по периметру окружности


4 .1 . Основы 71
Мы �обирае��я раз�е�тит� некоторые ко�анды ри�ования в �етоде 
onDraw()
в 
�леду��е� разделе�
Класс Path (Контур)
�ла�� 
Path
хранит набор ко�анд ри�ования векторных объектов� таких как линии� 
пря�оу�ол�ники и кривые� Вот при�ер задания контура в виде окружно�ти:
circle = new Path();
circle.addCircle(150, 150, 100, Direction.CW);
Зде�� задана окружно�т� � �ентро� в пози�ии x=150� y=150 и радиу�о� 
в 100 пик�елей� Сейча�� ко�да �ы задали контур� давайте и�пол�зуе� е�о для ри�о�
вания окружно�ти � обводкой� а также тек�та � ее внутренней �тороны:
private static final String QUOTE = "Now is the time for all " +
"good men to come to the aid of their country." ;
canvas.drawPath(circle, cPaint);
canvas.drawTextOnPath(QUOTE, circle, 0, 20, tPaint);
Вы �ожете видет� резул�тат на ри��4�1� Так как окружно�т� была нари�ована по 
ча�овой �трелке (
Direction .CW
)� тек�т также выводит�я в �то� направлении�
Е�ли вы хотите получит� что�нибуд� дей�твител�но забавное� ������� предо�
������� предо�
предо�
�тавляет �ноже�тво кла��ов 
PathEffect
� которые позволя�т выполнят� в�яче�кие 
тр�ки вроде �лучайных из�енений контура� ��лаживания в�ех линейных отрезков 
контура � и�пол�зование� кривых или разбиение контура на �е��енты� а также 
дру�ие �ффекты�
Класс Drawable (Визуализация)
В ������� кла�� 
Drawable
и�пол�зует�я для визуализа�ии таких �ле�ентов� как 
битовые изображения или �плошные �вета� которые предназначены тол�ко для 
отображения на �кране� Вы �ожете ко�бинироват� объекты �то�о кла��а � дру�и�и 
�рафиче�ки�и �ле�ента�и или и�пол�зоват� их для виджетов пол�зовател��ко�о 
интерфей�а (напри�ер� в каче�тве фона для кнопки или �ле�ента 
View
)�
Объекты визуализа�ии �о�ут прини�ат� различные фор�ы:
‰
‰ Bitmap
: изображение PNG или JPG�
‰
‰ NinePath
: �а�штабируе�ое PNG�изображение� такое название появило�� из�за 
то�о� что изначал�но изображение делит�я на девят� ча�тей� Оно и�пол�зует�я 
как фоновое изображение для кнопок� которые �о�ут �енят� раз�ер�
‰
‰ Shape
: ко�анды ри�ования векторных объектов� о�нованные на 
Path
� Это один 
из за�енителей SVG (Scalable Vect�� G�aph�cs — �а�штабируе�ой векторной 
�рафики)�
‰
‰ Layers
: контейнеры для дочерних объектов визуализа�ии� которые выводят�я 
один над дру�и� в определенно� порядке�
‰
‰ States
: контейнер� который показывает один из объектов�пото�ков� о�нованных 
на и�ходно� объекте (битовой �а�ке)� Их и�пол�зу�т для �оздания различных 
вариантов выделения кнопок и у�тановки фоку�а на них�


72 Глава 4 • Введение в 2D-графику
‰
‰ Levels
: контейнер� показыва��ий лиш� один из объектов�пото�ков кла��а 
Drawable
� о�новывая�� на е�о уровне (�ело� чи�ле)� Это �ожет быт� и�пол�зо�
вано для индикатора заряда батареи или �илы �и�нала�
‰
‰ Scale
: контейнер для одно�о объекта�пото�ка кла��а 
Drawable
� который из�еняет 
раз�ер на о�нове теку�е�о заданно�о значения� Может быт� и�пол�зован для 
�оздания про��отр�ика картинок � воз�ожно�т�� увеличения�
Объекты визуализа�ии ча�то определя�т в XML� Вот типичный при�ер� �де 
объект визуализа�ии определяет �радиент от одно�о �вета к дру�о�у (в данно� 
�лучае — от бело�о к �еро�у)� У�ол задает направление �радиента (270 �раду�ов оз�
нача�т движение �верху вниз)� Этот �радиент будет и�пол�зован для фона в��вера:


android:startColor="#FFFFFF"
android:endColor="#808080"
android:angle="270" />

Для то�о чтобы во�пол�зоват��я приведенны� при�еро�� �ы �оже� либо �о�
�лат��я на данное определение в XML � по�о��� атрибута 
android:background=
� 
либо вызват� �етод 
setBackgroungResource()
в �етоде в��вера 
onCreate()
� как зде��:
setBackgroundResource(R.drawable.background);
Эта ко�анда добавляет в наш при�ер 
GraphicsView
интере�ный �радиентный фон� 
как показано на ри�� 4�2�


Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   87




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет