728x90
반응형
<실행 예시>
<풀이>
MyView.java(이하 커스텀 뷰)를 만들어 액티비티 화면으로 설정해 실습을 해봤습니다. 커스텀 뷰에서 터치 이벤트가 발생했을 때 (x, y)를 읽어와 안내하는 문자열을 출력했습니다.
커스텀 뷰 방법으로 했을 때 두 가지 주의해야 할 점이 있습니다. xml에서 class 속성을 필수로 추가해줘야 합니다.
ex) class="com.example.${PROJECT_PATH}.${CLASS_NAME}"
위 속성을 추가해준 후에 커스텀 뷰의 모든 생성자에서 부모 생성자를 호출해주면 됩니다.
ex) super(인자1, 인자2, ..)
여기까지 따라오셨으면 필수 설정은 끝났으니 커스텀 뷰에서 멤버로 Paint 객체를 만들어 TextSize를 정해주는 등 꾸미기만 하면 됩니다.
onDraw() 메소드는 단순히 화면에 안내 문자열을 쏴주는 메소드이며, onTouchEvent() 메소드는 터치 위치를 int값으로 전송합니다.
원래 getX() || getY()는 Float형을 반환하기 때문에 Int형으로 형변환해줍니다.
위치 값을 받은 후에 invalidate() 메소드를 통해 화면을 갱신해줍니다.
그러면 어느 화면을 터치하든 터치한 지점의 좌표 안내 문자열이 바로바로 갱신됩니다.
<코드>
mPosX, mPosY => (x, y) 좌표
728x90
반응형
'~2023' 카테고리의 다른 글
[Python] 삼각 달팽이 - 월간 코드 챌린지 시즌1 (1) | 2021.04.01 |
---|---|
[ANDROID] CheckBox >> onClickListener() 이벤트 리스너 설정 (0) | 2021.03.30 |
[Python] 문자열 압축 - 2020 KAKAO BLIND RECRUITMENT (0) | 2021.03.26 |
[Ubuntu] 20.04 버전에서 GUI를 통해 간단하게 한글 키보드 설치 (0) | 2021.03.25 |
[Linux] CUDA 11와 함께 쓰는 cuDNN 8 설치하기 (0) | 2021.03.25 |