마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 TextView에서 특정 글자를 클릭했을때 이벤트를 줄 수 있나요??

+1 추천
메시지... 더보기

 

위와 같이 메시지가 길다면, ...으로 줄이고, 더보기를 누르면 전체 메시지를 보여줄려고합니다.

링크이동은 아닙니다. 더보기 글자에만 이벤트를 걸 수 있나요??
로켓군 (540 포인트) 님이 2015년 7월 16일 질문

3개의 답변

+1 추천
간편한게 정리된 솔루션을 제시할 순 없지만...
아래 메서드를 통해 실제로 레이아웃에 출력되는 사이즈를 구할 수 있습니다.
 
TextView.getText()
TextView.getPaint()
Paint.measureText()
Paint.getFontMetrics()
Paint.getTextBounds()
Paint.getTextWidths() 
 
등을 통해 text의 bounds 얻고, onTouchListener 구현 해서 핸들 하면 되기는 하는데...
 
그냥 가독성&인지성을 위해 다른 라인이나 특정 고정위치에 처리하는게 좋지 않을까요?
 
 
 
reference...
 
 
칠리님 (10,910 포인트) 님이 2015년 7월 16일 답변
0 추천
custom 으로 만들면 되죠

linear 안에 horizontal 로 한 뒤 textview 2개 넣은 뒤

더보기에 해당하는 textview 에 click event 건뒤 메시지에 해당하는 textview 에 옵션을 조절하면 되니깐요.
aucd29 (218,390 포인트) 님이 2015년 7월 16일 답변
메시지가 2~3줄이상이며, textview 중간에 끝났을 경우도, 대비해야 합니다.
0 추천
쉽게 접근하면 될 것 같은데요.

 

메세지... | 더보기

 

두개의 텍스트가 있다고 하면, 더보기 테스트에 클릭이벤트를 주어 선택시 메세지.. 를 변경하고 더보기를 히든시키면 되지요.

flag 를 주어 메세지를 클릭시 원상태로 돌리면 되겠고요.
개발자초심 (21,220 포인트) 님이 2015년 7월 18일 답변
...