// 本方法 分行又分页
public static ArrayList<ArrayList<String>> getPageContentStringInfo(
Paint m_paint, String content, int pageLines, float pageWidth) {
char ch;
int w = 0;
int istart = 0;
int lineNum = 0;
ArrayList<ArrayList<String>> contentList = new ArrayList<ArrayList<String>>();
ArrayList<String> cl = null;
// 内容长度
for (int i = 0; i < content.length(); i++) {
if (cl == null)
cl = new ArrayList<String>();
ch = content.charAt(i);
float[] widths = new float[1];
String srt = String.valueOf(ch);
m_paint.getTextWidths(srt, widths);
if (ch == '\n') {
// 如果遇到断行符
lineNum++;
cl.add(content.substring(istart, i));
istart = i + 1;
w = 0;
} else {
// 遇到字符
w += (int) (Math.ceil(widths[0]));
// 当长度小于宽度时
if (w > pageWidth) {
lineNum++;
cl.add(content.substring(istart, i));
istart = i;
i--;
w = 0;
} else {
if (i == (content.length() - 1)) {
lineNum++;
cl.add(content.substring(istart, content.length()));
}
}
}
if (lineNum == pageLines || i == (content.length() - 1)) {
contentList.add(cl);
System.out.println(cl.toString());
cl = null;
// 当最后一个字符时的行数
lines = lineNum;
lineNum = 0;
}
}
return contentList;
}
分享到:
相关推荐
本篇文章将详细讲解如何在Android中利用GridView实现分页加载功能。 首先,理解GridView的基本概念。GridView是ListView的一种变体,它按照指定的列数来排列子视图。默认情况下,GridView会一次性加载所有数据,这...
在Android平台上开发电子书阅读应用时,为了提供良好的用户体验,分页功能是必不可少的。"android电子书(txt)分页实现"这个项目专注于解决如何在Android应用中对TXT格式的电子书进行有效的分页处理。这里我们将深入...
本篇文章将详细阐述如何在Android的SQLite数据库中实现分页读取。 首先,我们需要了解SQLite的基本操作,包括创建数据库、创建表、插入数据以及查询数据。以下是一个简单的示例: 1. **创建数据库**: 在Android...
在Android平台上,开发一款阅读器应用是相当常见的需求,它能帮助用户轻松地阅读电子书籍。这个"Android阅读器源码"提供了一个完整的解决方案,允许开发者快速整合到自己的项目中,节省了从零开始构建阅读器功能的...
在Android开发中,分页控件是不可或缺的一部分,它能够帮助用户更有效地浏览大量数据,同时减轻服务器压力。本教程将深入探讨如何在Android中创建一个自定义分页控件,以便实现高效、用户友好的界面。 首先,我们...
在Android应用开发中,分页加载数据是一种常见的优化策略,它可以提高用户体验,减少内存消耗,避免一次性加载大量数据导致的卡顿。本知识点主要聚焦于Android分页库的使用和实现,尤其是通过开源库来简化这一过程。...
下面,我们将深入探讨Android Launcher桌面分页滑动的相关知识点。 1. **Android UI框架**:在Android中,用户界面主要由View和 ViewGroup 组成。View是基本的UI元素,如按钮、文本框等,而ViewGroup则是布局容器,...
分页读取是一种有效的策略,它允许应用程序按需加载数据,避免一次性加载所有数据导致性能下降或内存溢出。本文将深入探讨如何通过存储过程实现SQL分页读取海量数据。 首先,理解“分页”概念是至关重要的。分页是...
本例程聚焦于如何利用易语言来实现超级列表框分页读取MDB数据库的功能,这在处理大量数据时尤为实用,可以有效提升用户体验,减少系统资源消耗。 MDB数据库,也被称为Access数据库,是由Microsoft Access创建的一种...
在Android应用开发中,创建一个可以分页显示小说内容的功能是一项常见的需求。本文将深入探讨如何使用TextView...通过这样的实践,我们可以创建一个用户友好的阅读体验,同时也可以锻炼对Android SDK和组件的深入理解。
在Android平台上,开发一个TXT阅读器是一个常见的任务,它能够帮助用户轻松地浏览和阅读存储在设备SD卡上的TXT文本文件。"基于安卓开发的TXT阅读器源码"项目提供了这样的功能,允许开发者深入理解如何实现这样的应用...
《Android TXT阅读器源代码解析》 在移动设备领域,Android平台因其开源性和广泛的设备覆盖范围,成为开发者的重要战场。而TXT阅读器作为最基础的文本阅读应用之一,其源代码的学习对于Android开发者来说,是深入...
在Android开发中,分页加载数据是一个常见的优化策略,尤其当处理大量数据如手机通讯录时,分页读取能够显著提升应用性能和用户体验。本文将深入探讨如何在Android平台上实现分页读取手机通讯录联系人信息,并将其...
仿真是一种通过建立模型来模拟现实世界或虚拟场景的技术,广泛应用于工程、科研和教育等领域。 仿真技术的核心是计算机模拟,它利用计算机程序和数据来表示现实世界的系统或过程,以便研究、分析或培训。...
本篇文章将详细讲解如何实现Android ListView的滑动分页功能。 首先,理解滑动分页的基本原理。滑动分页基于“按需加载”的概念,即仅在用户滚动到列表底部时才请求服务器获取新的数据。这样避免了一次性加载所有...
在Android开发中,当应用程序需要显示大量的数据时,通常会采用分页加载的方式来优化用户体验,避免一次性加载所有数据导致的性能问题和用户界面卡顿。本篇将详细讲解如何实现Android表单的分页效果,以`Listview`为...
《Android电子书TXT阅读器》是一款专为Android平台设计的电子书阅读软件,其源码已经公开,供开发者参考和学习。这款应用旨在提供舒适的TXT格式电子书阅读体验,适用于那些热衷于阅读和对移动开发有兴趣的用户。在...
在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)中的分页控件、分页读取和分页写文件的概念,以及如何在实际应用中实现这些功能。MFC是微软提供的一套C++库,用于简化Windows应用程序的开发,它包含了...
在Android应用开发中,数据库是数据存储的重要方式,特别是在处理大量数据时,为了提高用户体验,分页查询就显得尤为重要。本篇文章将详细讲解如何在Android中实现数据库的分页查询功能,以高效、流畅地加载和展示...
在Android系统中,...总的来说,这份压缩包提供了学习和研究Android Launcher分页滑动功能的机会,通过阅读源码和相关文档,开发者可以深入了解Android UI框架的工作原理,并提升自己在定制Launcher方面的技能。