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


4 .1 . Основы 69



Pdf көрінісі
бет45/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   41   42   43   44   45   46   47   48   ...   87
4


4 .1 . Основы 69
Класс Color (Цвет)
Цвета в ������� опи�ыва�т�я четыр��я чи�ла�и� по одно�у для каждо�о из кана�
������� опи�ыва�т�я четыр��я чи�ла�и� по одно�у для каждо�о из кана�
опи�ыва�т�я четыр��я чи�ла�и� по одно�у для каждо�о из кана�
лов: ал�фа�канала� кра�но�о� зелено�о и �ине�о (�RGB — �lpha� Re�� G�ee�� Blue)� 
�аждый из ко�понентов являет�я во���ибитны� �елы�� то е�т� �ожет прини�ат� 
256 различных значений� по�то�у �вет обычно упаковывает�я в 32�битное �елое 
чи�ло� Для бол�шей �ффективно�ти в коде ������� и�пол�зу�т�я �елые чи�ла 
в�е�то �кзе�пляров кла��а 
Color

�ра�ный� зеленый и �иний �вета не нужда�т�я в о�обо� пред�тавлении� 
а вот �у�но�т� ал�фа�канала требует дополнител�ных поя�нений� Альфа-канал 
(�lpha) — �то �ера прозрачно�ти� Са�ое низкое значение� 0� указывает на то� что 
�ле�ент полно�т�� прозрачен� Неважно� какие значения и�е�т ко�поненты RGB� 
е�ли � равно 0� Са�ое вы�окое значение� 255� указывает на то� что �ле�ент полно�
� равно 0� Са�ое вы�окое значение� 255� указывает на то� что �ле�ент полно�
равно 0� Са�ое вы�окое значение� 255� указывает на то� что �ле�ент полно�
�т�� непрозрачен� Про�ежуточные значения и�пол�зу�т�я для задания про�ве�
чива��их или� дру�и�и �лова�и� полупрозрачных �ветов� Они позволя�т видет� 
не�но�о из то�о� что находит�я под объекто�� который нари�ован на передне� фоне�
Для то�о чтобы �оздат� �вет� вы �ожете и�пол�зоват� одну из �татиче�ких кон�
�тант кла��а 
Color
� напри�ер:
int color = Color.BLUE; // синий цвет
или� е�ли вы знаете значения для ал�фа�канала� кра�ной� зеленой и �иней 
ко�понент� то �ожете и�пол�зоват� один из �у�е�тву��их �татиче�ких �етодов� 
напри�ер:
// Полупрозрачный пурпурный
color = Color.argb(127, 255, 0, 255);
Лучше будет объявит� в�е ваши �вета в ре�ур�но� файле XML� Это обле�чит 
наши дей�твия в то� �лучае� е�ли позже �ы реши� что�то по�енят�:


#7fff00ff

Вы �ожете обра�ат��я к �вета� по и�ена� в дру�их XML�файлах� как �ы де�
XML�файлах� как �ы де�
�файлах� как �ы де�
лали в �лаве 3� или и�пол�зоват� и�ена в Java�коде� напри�ер:
color = getResources().getColor(R.color.mycolor);
Метод 
getResource()
возвра�ает кла�� 
ResourceManager()
для теку�ей деятел��
но�ти� а 
getColor()
запрашивает у �енеджера пои�к �вета� заданно�о в �D ре�ур�а�
Класс Paint (Рисование)
Один из важнейших кла��ов �рафиче�кой библиотеки ������� — �то кла�� 
Paint
� 
Он хранит �тили� �вета и дру�у� инфор�а�и�� необходи�у� для ри�ования �рафи�
че�ких объектов� в то� чи�ле битовые изображения� тек�т� �ео�етриче�кие фи�уры�
Обычно ко�да вы ри�уете что�то на �кране и хотите нари�оват� �то �плошны� 
�вето�� вы у�танавливаете �тот �вет � по�о��� �етода 
Paint .setColor() .


70 Глава 4 • Введение в 2D-графику
Напри�ер:
cPaint.setColor(Color.LTGRAY);
Зде�� и�пол�зовано предопределенное значение для �ветло��еро�о �вета�
Объект Canvas (Холст)
�ла�� 
Canvas
пред�тавляет �обой поверхно�т�� на которой вы ри�уете� Обычно 
«хол�ты» изначал�но не и�е�т никако�о �одержи�о�о� как пу�тые пленки для 
проекторов� Методы кла��а 
Canvas
позволя�т ри�оват� линии� пря�оу�ол�ники� 
кру�и или дру�ие произвол�ные �рафиче�кие объекты на пло�ко�ти�
В ������� �кран ди�плея захватывает�я деятел�но�т�� (
Activity
)� которая �о�
держит окно про��отра� или в��вер (
View
)� которое в �во� очеред� �одержит хол�т 
(
Canvas
)� У ва� е�т� воз�ожно�т� ри�оват� на �тих хол�тах� переопределяя �етод 
View .onDraw()
� Един�твенный пара�етр для 
onDraw()
— �то объект 
Canvas
� на которо� 
вы ри�уете�
Вот при�ер деятел�но�ти� названной 
Graphics
� которая �одержит окно про��отра� 
называе�ое 
GraphicsView
:
public class Graphics extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicsView(this));
}
static public class GraphicsView extends View {
public GraphicsView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// Здесь начинаются команды рисования
}
}


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




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

    Басты бет