2

我对android开发很陌生。我正在尝试创建一个简单的基于两个活动的 ebbok 类型应用程序,其中activity1是目录并activity2显示详细信息。我在 Activity1 中有一个列表视图,其中列出了目录。单击任何特定内容时,我会加载activity2. 在onCreateactivity2,我将内容加载到字符串中(来自资产中的 txt 文件)。并在 textView 中显示(在activity2.xml 中定义)。到目前为止,一切都很好。现在的挑战是按页面显示内容,因为到目前为止,我的所有字符串都被加载到activity2. 所以我在底部添加了两个按钮activity2(在 中定义activity2.xml)。我现在计划的逻辑是

  1. 获取屏幕高度(我可以得到)
  2. 获取底部高度并从 1) 中减去 2)。现在我不能这样做,因为我无法获得按钮onCreate高度Activity2
  3. 然后找到我可以在一页中容纳多少文本,相应地找到页数,使用页面索引并使用页面分隔符,当用户单击“下一步”按钮时,继续将剩余的文本加载到下一页中。

所以我需要帮助 - 如何获得按钮宽度,正如我在 2) 中提到的那样 - 您可以共享以执行上述 3) 的任何示例代码也将对我有所帮助。

任何一位专家的帮助将不胜感激。

4

2 回答 2

0

使用 Fragments 将解决您的问题。

片段

Fragment 表示 Activity 中的一种行为或用户界面的一部分。您可以在单个活动中组合多个片段以构建多窗格 UI 并在多个活动中重用一个片段。您可以将片段视为活动的模块化部分,它有自己的生命周期,接收自己的输入事件,并且可以在活动运行时添加或删除(有点像“子活动”,您可以在不同的活动中重复使用)。

例如,一个新闻应用程序可以使用一个片段在左侧显示文章列表,另一个片段在右侧显示一篇文章——两个片段并排出现在一个活动中,每个片段都有自己的一组生命周期回调方法并处理自己的用户输入事件。因此,用户可以选择一篇文章并在同一个活动中阅读所有文章,而不是使用一个活动来选择一篇文章和另一个活动来阅读文章

有关片段的更多信息,只需通过此链接。希望它会帮助你。

于 2013-01-05T11:56:15.763 回答
0

我想出了一种非常有效的方法来显示跨页数的长字符串。-我将长文本显示到文本视图中并禁用滚动-然后找出布局中的行和单个屏幕上的行,因此我知道长字符串将跨越多少个屏幕(页面)-然后每当用户单击按钮转到下一页或滑动屏幕转到下一页然后我使用 TexView.scrollTo() 函数向前移动到行数(屏幕上的行数)。所以它变得和移动到下一页一样好

于 2014-01-03T22:25:39.767 回答