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


КАКОГО ОНО ВСЕ-ТАКИ РАЗМЕРА?



Pdf көрінісі
бет49/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   45   46   47   48   49   50   51   52   ...   87
КАКОГО ОНО ВСЕ-ТАКИ РАЗМЕРА?
Источник обычной ошибки, которую делают новички разработки для Android, — это исполь-
Android, — это исполь-
— это исполь-
зование ширины и высоты вьювера внутри его конструктора . Когда вызывается конструктор 
вьювера, Android еще не знает, насколько большим будет вьювер, то есть размеры установле-
Android еще не знает, насколько большим будет вьювер, то есть размеры установле-
еще не знает, насколько большим будет вьювер, то есть размеры установле-
ны в ноль . Реальный размер рассчитывается на стадии размещения, которая происходит после 
конструирования, но до того, как что-либо будет нарисовано . Вы можете использовать метод 
onSizeChanged() для того, чтобы узнать значения, когда они будут известны, или методы get-
() для того, чтобы узнать значения, когда они будут известны, или методы get-
get-
Width() и getHight(), так же, как и метод onDrow() .
Так как реч� идет о деятел�но�ти� �ы должны заре�и�трироват� ее в 
Android-
Manifest .xml
:


4 .2 . Добавление графики к Sudoku 75
 Sudokuv2/AndroidManifest.xml
android:label="@string/game_title" />
Также на� нужно добавит� е�е не�кол�ко �троковых ре�ур�ов в 
res/value/strings .
xml
:
 Sudokuv2/res/values/strings.xml
Game
No moves
Keypad
Определение класса PuzzleView
Далее на� нужно определит� кла�� 
PuzzleView
� В�е�то то�о чтобы и�пол�зоват� 
XML��акет� �делае� �то полно�т�� на Java�
Вот карка� кла��а:
 Sudokuv2/src/org/example/sudoku/PuzzleView.java
package org.example.sudoku;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Paint.FontMetrics;
import android.graphics.Paint.Style;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
public class PuzzleView extends View {
private static final String TAG = "Sudoku" ;
private final Game game;
public PuzzleView(Context context) {
super(context);
this.game = (Game) context;
setFocusable(true);
setFocusableInTouchMode(true);
}
// ...
}
В кон�трукторе �ы �охраняе� ��ылку на кла�� 
Game
и у�танавливае� пара�етр� 
позволя��ий пол�зовател� о�у�е�твлят� ввод данных во в��вер� Внутри 
Puz-
zleView
на� нужно при�енит� �етод 
onSizeChanging()
� Он вызывает�я по�ле то�о� 
как в��вер �оздан и ������� знает в�е раз�еры�




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




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

    Басты бет