자바에서는 String 클래스 내 split 함수를 사용하여 문자들을 자를 수 있다.
실질 적은 예는 하기와 같다.
for (String line: text.split("\n")) {
_canvas.drawText(line, mScreenConfig.getX(500), mScreenConfig.getY(y_pos), paint);
y_pos += paint.descent() - paint.ascent();
}
위 스트링을 담은 배열은 하기와 같다.
오늘 split 함수를 사용하게 된 이유는,
String 클래스의 Tokenizer 함수를 사용해서 날짜를 자른 뒤 canvas.drawtext를 활용해서 글자를 찍어주는 역할을 만들고 있었다. 그런데, canvas drawText() 에선 줄 바꿈이 지원되지 않기에,,, split로 "\n" 문자를 잘라내서
다음 줄에 텍스트를 그려주는 역할로 사용하게 되었다.
String [] IntroRandomText1 =
new String[]{
"1940년 9월 27일 : 독일 베를린에서 독일, 이탈리아, 일본 3국 \n동맹 조인으로 베를린-로마-도쿄 추축 완성",
"1941년 3월 27일 : 일본의 마스오가 유스케 외상이 히틀러와 회견",
"1941년 12월 8일 : 일본군 폭격기가 진주만 습격 3시간 전 \n웨이크 섬을 폭격함",
"1941년 12월 8일 : 일본군이 진주만 습격 2시 15분 전 \n말레이 반도를 침공해 주둔중인 호주군과 인도군을 압도함",
"1941년 12월 8일 : 일본군 전투기가 미국 하와이의 진주만을 습격해 \n미군 3581명 사망, 1247명 부상, 민간인 103명 사상",
"1941년 12월 8일 : 미국이 일본에 선전 포고를 함",
"1941년 12월 8일 : 일본군 폭격기가 필리핀 클라크와 \n이바 군용 비행기를 폭격",
"1941년 12월 8일 : 일본군 폭격기가 홍콩의 영국 공군을 폭격함",
"1941년 12월 9일 : 일본군이 태국 방콕을 함락시킴",
"1941년 12월 10일 : 영국 전함 프린스 오브 웨일스 호와 \n순양함 리펄스 호가 일본군 항공기의 공격으로 침몰",
"1941년 12월 11일 : 일본군 기동함대가 웨이크 섬을 공격했으나 패퇴함",
"1941년 12월 16일 : 미얀마 남쪽 끝 빅토리아 곶이 일본군에 함락됨",
"1941년 12월 23일 : 일본군이 웨이크 섬을 함락시킴",
"1941년 12월 25일 : 중국 광둥 반도의 영국, \n캐나다 수비대가 일본군에 항복함",
};
위 처럼 구현한 내용은 하기 처럼,
게임 내 흰색 글자로 자연스럽게 나왔다. 자바에서 글자를 자를때는 split() 함수도 사용해보자.
감사합니다.
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
자바 배열의 메모리. (2) | 2020.08.13 |
---|---|
애드몹 동영상 보상 광고 만들기 (4) | 2020.07.28 |
랜덤 함수...Random() (6) | 2020.06.25 |
안드로이드 외부 폰트 적용하는 방법-2 (2) | 2020.06.15 |
안드로이드 외부 폰트 적용하는 방법 (4) | 2020.06.14 |
댓글