2017-02-19 1 views
0

*안드로이드에서 긴 텍스트를 만드는 방법은 아래 사진과 유사합니다 (더 많은 버튼 읽기)?

안드로이드에는 길이가 긴 텍스트의 일부 라인을 느슨하게 만드는 방법이 있습니까?

+0

은 textview의 텍스트가 고정되어 있거나 동적이며 계속 변경 될 예정입니까? – Deepesh

+0

기본 방법은 없지만 TextView 동적에서 최대 라인을 정의하면 쉽게 이와 같은 것을 구현할 수 있습니다. –

+0

쉬운 방법이지만 최선의 방법은 투명하지 않은 이미지를 가져 와서 텍스트보기 위에 놓습니다. 사용자가 더 많은 버튼을 클릭하면 가시성이 사라집니다. – Redman

답변

0

나는 당신에게 당신이 텍스트의 길이가 달라집니다 의미 솔루션

나는 당신의 텍스트 자연에서 동적 겠지를 쓰기보다는 해결책을 마련하는 데 필요한 모든 힌트를주는거야. 당신이 당신의 텍스트를 설정 한 모든

첫째, 당신은 당신에게 빨리하는 constant

// here for example, you want to show 5 lines along with read more button 
private static final int DEFAULT_DESCRIPTION_LINES_PORTRAIT = 5; 

Now 버튼 (읽기 더와 함께) 처음에 표시 할 최대 행 수를 제공하는 클래스에 정의해야합니다 텍스트의 행 수가 5보다 작은 지 여부를 확인하십시오. 5보다 작 으면 read more 버튼을 전혀 표시 할 필요가 없습니다. 만약 그것이 5 이상이라면 TextViewmaxLines을 기본 행으로 설정하십시오. 또한 지금

textView.setMaxLines(DEFAULT_DESCRIPTION_LINES_PORTRAIT); 
readMorebutton.setVisibility(View.VISIBLE); 

볼 수 read more 버튼을 만들거야, 당신은 단순히 maxLines을 전환 할 것 중 하나 default 또는 actual 라인 카운트 할 때마다 그 버튼에 사용자 프레스. 그와 함께 readMoreButton 시정 gone ~ visible 각각 만듭니다. TextView 레이아웃 인플레이션이 시간이 걸립니다 당신은 당신이 정확한 값을 얻을 것이다 textivew..getLineCount();를 호출 할 때마다 확신 너무 그 TextViewpostrunnable를 실행할 수 있습니다 있도록

또한 그것은, 할 수 있습니다. button 위에 그 기울기에 대해서는

, 당신은 단순히 가질 수 수직 LinearLayout에서 (그라데이션 배경을 것이다) 그 위에 full width보기와 함께 button.

이 정보가 도움이되기를 바랍니다.