라떼군 이야기


Textview to Drawable on Android

Problem

안드로이드에서 TextView 의 내용을 Drawable 객체 또는 Bitmap으로 변환해서 사용해야 하는 경우가 있다. 이런 경우는 드물긴 하는데 제 경우에는 외부 라이브러리를 사용하고 해당 라이브러리 코드가 수정이 어려운 상태에서 Bitmap 객체를 입력으로 사용해야 되는 경우였다.

Solution

{% gist acc87eda8e6e619996bab962554f0fe9 %}

Conclusion

결과적으로 Canvas에 그리는 간단한 코드가 되어버렸지만 해결 방법을 찾는 과정은 쉽지 않았다. 그리고 찾는 과정에서 알게 된 TextDrawable 라이브러리는 아주 유용했다. Live 메일 등에서 이니셜이 표시되는 이미지를 본적이 있을 텐데 그걸 안드로이드 버전으로 구현한 것이다. 기본적인 기능 이외에 부가적인 기능도 지원하고 있어서 추후 관련 구현이 있을 때 유용할 것이다. 이 라이브러리도 내부적으로는 TextView를 Bitmap으로 변환하는 과정을 거치고 있다.