2016-12-29 3 views
1

I 수도 근본적으로 나는 documentation for CustomPainter's paint method, 내 MyCustomPainter의 페인트 메소드 내 그래서 나는 다음과 같은있다 "는 TextPainter를 사용하여 캔버스에 텍스트를 페인트"를 말한다 틀렸다 곳이 너무 제발 올바른 작동 방법 오해 :TextPainter를 사용하여 텍스트를 그리는 방법은 무엇입니까?

TextSpan span = new TextSpan(text: 'Yrfc'); 
TextPainter tp = new TextPainter(text: span, textAlign: TextAlign.left); 
tp.layout(); 
tp.paint(canvas, new Offset(5.0, 5.0)); 

(Offset.zero, Offset.infinite, new Offset(10.0, 10.0)의 다양한 오프셋을 시도했지만 화면에 그려진 텍스트를 볼 수 없었습니다.

+1

사람들이 위의 코드를 복사하기 전에 알아 두어야 할 점 중 하나는 매번 TextPainter를 다시 만드는 것이 상대적으로 비용이 많이 든다는 것입니다 (특히, 'layout'에 대한 호출이 비쌉니다). 가능하다면, TextPainter를 유지하고 재사용하고, 그 메소드에 대한 인수가 바뀔 때'layout' 만 호출하기를 원할 것입니다. –

답변

4

나는이 질문을 타이핑 할 때 답을 찾았지만 지금은 잠시 동안 레슬링을 해왔다.

TextSpan span = new TextSpan(style: new TextStyle(color: Colors.grey[600]), text: 'Yrfc');

는 분명히 그것이 하나 내 색상 선택이 명시 적으로 이루어지지했기 때문에 보이지 않게 또는 흰색 (배경) 색상으로 텍스트를 그리기 : 그것은에 TextSpan 라인을 변경하고 해결 무엇

.

+0

기본 텍스트 색은 실제로 흰색입니다. –

관련 문제