2010-08-01 6 views
1

사용자가 방대한 양의 텍스트를 스크롤 할 수있게 해주는 앱을 만들어 달라는 요청을 받았습니다. 텍스트는 수천 페이지에 이릅니다. (각 페이지에는 ID가 있으므로 ID가 있으므로 탐색기도 있습니다.) 질문 : 많은 텍스트 스크롤을 필요로하지만 필요에 따라 더 많은 텍스트를 필요에 따라 (위 또는 아래로)로드하는 가장 좋은 방법은 무엇입니까? 전체 텍스트 스트림을로드하고 싶지 않습니다. 오랜 시간이 걸릴 것입니다. 다양한 색상과 스타일로 텍스트를 표시해야합니다. 예 : 텍스트의 머리글은 굵게 표시됩니다.안드로이드 매우 긴 텍스트 : 스크롤링 아이디어?

나는 webview를 고려했다, 그러나 나는 전체 텍스트를로드해야 할 것인가?

생각 : "전쟁과 평화 소설을위한 브라우저"

아이디어가 있으십니까?

답변

4

텍스트의 크기가 합리적인 경우 (예 : 제목 및 단락) ListView을 사용하고 TextViews 인 행을 사용합니다. 구분선을 비활성화 할 수 있으며 행 레이아웃을 설정하여 텍스트가 연속적으로 표시되도록해야합니다 (단락 간격을 줄 수 있도록 행간 전환을 활용). TextViewHtml.fromHtml()을 통해 HTML에서 쉽게 얻을 수있는 Spannable 내용을 지원합니다.

귀하의 ListAdapter은 필요한 행 수 (표제와 단락의 합)를 알아야합니다. RAM에있는 모든 텍스트를 유지할 수는 없기 때문에, ListAdapter은 다소 가상적인 것이어야하며, 단거리 스크롤을 위해 캐시 된 적당한 금액으로 필요에 따라 텍스트 덩어리를 플래시에서 꺼낼 수 있어야합니다.

이 방법을 사용하면 ListView의 행 재활용을 활용하여 적절한 형식 컨트롤을 제공하면서 RAM 사용을 최소화 할 수 있습니다.

TextView 형식이 충분하지 않은 사람들이 ListView의 행으로 사용하려고 시도한 경우가 있습니다. 그러나 WebView이 스크롤 가능하고 스크롤 가능한 항목을 다른 스크롤 가능 항목 (ListView)에 넣는 것이 일반적으로 문제가되기 때문에이 방법이 얼마나 효과가 있는지 알 수 없습니다.

관련 문제