android:pdfdocument:multiline
multiline
문서의 이전 판입니다!
목차
목적
코드
다음이 전체 코드이다.
// body Text fun bodyText(text : String, canvas: Canvas) { val textLayout = StaticLayout.Builder.obtain(text, 0, text.length, cellBodyLeft, 400) .setAlignment(Layout.Alignment.ALIGN_NORMAL) .setLineSpacing(0f, 1.2f) .setIncludePad(true).build() canvas.save() canvas.translate(50f, 350f) textLayout.draw(canvas) canvas.restore() }
1. static layout
가. obtain
obtatin 함수는 다음과 같이 인자를 받는다.
obtain(CharSequence source, int start, int end, TextPaint paint, int width)
첫번째는 텍스트, 두번째 시작하는 문자, 세번째는 끝나는 문자의 위치, 네번째는 페인터, 마지막은 레이아웃의 너비이다.
여기서 페인터는 통상읜 Paint가 아니라 TextPaint임을 유의하자. TextPaint는 Paint를 상속받으므로,
기존에 Paint로 선언했다면, 그냥 TextPaint로 선언하면 된다.
obtain함수에서 글자를 그릴 너비를 받아서, 이 너비 이상이 되면 줄 바뀜을 하게 해준다.
나. setAlignment
글자를 정렬하는 것이다. Layout.Alignment를 enum으로 변수롷 받는다.
디폴트값은 디폴트 값은 Layout.Alignment#ALIGN_NORMAL 이다1)).
각각 다음과 같다.
- ALIGN_NORMAL : 왼쪽 정렬
- ALIGN_CENTER : 가운데 정렬
- ALIGN_OPPOSITE : 오른쪽 정렬
1)
https://developer.android.com/reference/android/text/StaticLayout.Builder#setAlignment(android.text.Layout.Alignment
android/pdfdocument/multiline.1734019164.txt.gz · 마지막으로 수정됨: 2024/12/13 00:59 저자 이거니맨
로그인