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


Sudokuv2/src/org/example/sudoku/PuzzleView.java



Pdf көрінісі
бет52/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   48   49   50   51   52   53   54   55   ...   87
 Sudokuv2/src/org/example/sudoku/PuzzleView.java
// Рисование чисел...
// Определение цвета и стиля для чисел
Paint foreground = new Paint(Paint.ANTI_ALIAS_FLAG);
foreground.setColor(getResources().getColor(
R.color.puzzle_foreground));
foreground.setStyle(Style.FILL);
foreground.setTextSize(height * 0.75f);
foreground.setTextScaleX(width / height);
foreground.setTextAlign(Paint.Align.CENTER);
// Рисование числа в центре тайла
FontMetrics fm = foreground.getFontMetrics();
// Центровка по оси X: использование выравнивания (и координаты центральной 
точки)
float x = width / 2;
// Центровка по оси Y: сначала измеряем повышение/понижение
float y = height / 2 - (fm.ascent + fm.descent) / 2;
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
canvas.drawText(this.game.getTileString(i, j), i
* width + x, j * height + y, foreground);
}
}
Мы вызывае� �етод 
getTileString()
(определенный в разделе 4�4� «Разное»)� 
чтобы понят�� какое чи�ло на� нужно отображат�� Для нахождения раз�ера чи�ла 
�ы у�танавливае� раз�ер шрифта в три четверти от вы�оты тайла� а �оотношение 
�торон делае� таки� же� как у тайла� Мы не �оже� и�пол�зоват� аб�ол�тные 
значения в пик�елях или пунктах� так как �ы хоти�� чтобы про�ра��а работала 
� л�бы�и разрешения�и �крана�
Для то�о чтобы задат� пози�и� каждо�о чи�ла� �ы �ентруе� е�о по из�ерения� 
x и y� Пози�и� x определит� довол�но про�то — про�то разделите ширину тайла на 
два� Но для координаты y �ы должны �ле�ка у�ен�шит� начал�ну� пози�и� так� 
чтобы �ентрал�ная точка тайла �тала �ентрал�ной точки буквы� а не ее базовой 
линии (линии� проходя�ей под �и�воло�)� Мы и�пол�зуе� кла�� 
FontMetrics
из 
�рафиче�кой библиотеки для то�о� чтобы указат�� какое вертикал�ное про�тран�тво 
должен зани�ат� �и�вол в �ело�� зате� дели� полученное чи�ло на два� для то�о 
чтобы вне�ти поправку� Вы �ожете видет� резул�тат на ри�� 4�4�
Созданный на�и �еханиз� позволяет выполнят� начал�ное заполнение �оло�
воло�ки (вводит� и�ходные данные)� Следу��ий ша� закл�чает�я в то�� чтобы 
позволит� пол�зовател� вводит� �ифры� которые он подбирает для решения за�
дачи� в пу�тые ячейки�




Достарыңызбен бөлісу:
1   ...   48   49   50   51   52   53   54   55   ...   87




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

    Басты бет