如何根据文本长度创建新选项卡?

Posted

技术标签:

【中文标题】如何根据文本长度创建新选项卡?【英文标题】:How to create a new tab based on a text length? 【发布时间】:2016-04-03 11:50:27 【问题描述】:

我正在实现一个基于 ViewPager 的片段,用于滑动幻灯片 (see here)。

所以,我想知道是否可以根据文本长度(显示在 ViewPager 内的 TextView 中)动态获取新的滑动标签,我想在 ViewPager 内显示(获得类似的书籍视图)。

谢谢。

【问题讨论】:

【参考方案1】:

返回您发布的关于 ViewPager 的链接并重新阅读它,重点关注 PagerAdapter。这个概念类似于列表适配器。例如,您创建一个PagerAdapter,它将获取您的内容(例如在构造函数中),并确定如何将内容分解为页面。假设您传入了一些内容,而您的 PagerAdapter 确定有 17 页。您对PagerAdapter.getCount() 的覆盖将返回17。然后在instantiateItem()(或者getItem(),如果您使用FragmentPagerAdapter)中,您将创建要在页面position 上显示的视图,即一个参数。

公平警告! 听起来您想像书页一样水平分页一些文本。您应该知道TextView 将无法执行诸如“好吧,我是这个大小,所以我可以显示这么多文本”之类的事情。您将需要使用 android.text.StaticLayout 之类的东西来找出类似的东西。自己动手的文本布局是高级 Android 编程,所以请做好准备。

【讨论】:

以上是关于如何根据文本长度创建新选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据登录成功在新窗口/选项卡或同一窗口/选项卡中打开页面?

TabControl - 在新选项卡中加载默认 UI 元素

如何在新选项卡中打开新创建的图像?

Plotly:如何使用plotly-dash在一页上创建“输入文本”并在第二页或选项卡上输出(图形)?

创建 Honeycomb 操作栏选项卡后更改选项卡文本

在新选项卡中将生成的文本作为可保存的 .txt 文件打开