Titanium.UI.text用于文本显示的区域:从开始阅读文本的内容定位

Titanium.UI.text用于文本显示的区域:从开始阅读文本的内容定位,titanium,titanium-mobile,Titanium,Titanium Mobile,我正在Appcellerator Titanium中构建一个选项卡式移动应用程序。 我需要用一个大的文本段填充一个选项卡,并使用一个文本区域来完成此操作: var explanationView = Ti.UI.createTextArea({ enabled: false, editable: false, color: 'black', value: explanation }); 这将显示我想要的文本。但是,当内容太长而无法容纳时,它会显示内容的后半

我正在Appcellerator Titanium中构建一个选项卡式移动应用程序。
我需要用一个大的文本段填充一个选项卡,并使用一个文本区域来完成此操作:

var explanationView = Ti.UI.createTextArea({
    enabled: false, 
    editable: false, 
    color: 'black', 
    value: explanation
});
这将显示我想要的文本。但是,当内容太长而无法容纳时,它会显示内容的后半部,迫使用户向上滚动以找到文本的开头

  What I get:       What I want:
  __________       ______________
 | CONTENT  |      ||          ||
_|__________|_     ||   VIEW   ||
||          ||     ||__________||
||  VIEW    ||      |  Content |
||__________||      |__________|
我想我的问题有两个:

  • 有没有办法在生成文本区域时强制将其滚动到顶部
  • 是否有更好的方法使用钛来实现不可编辑的文本视图
-使用解决方案更新-

Martin完全正确,制作不可编辑文本以供显示的最佳方法是使用
Ti.UI.Label
。在我的案例中,一个有效的解决方案是将上述代码替换为以下代码:

var explanationView = Titanium.UI.createScrollView()
explanationView.add(Ti.UI.createLabel({text: explanation, color:'black'}))

win.add(explanationView)

表示不可编辑的文本区域的更好方法是使用标签。如果需要,这应该扩展到多行。这也不太可能让用户误以为该框可以像普通文本区域条目一样进行编辑

不太清楚这些图片想要传达什么。起初,在我看来,您将视图和文本区域以错误的顺序添加到整体视图中,或者将其顶部/底部位置设置错误

如果您试图同时显示可滚动文本和包含其他内容的视图,我可能会创建一个可滚动视图,并将文本放置在该视图上,设置适当的高度,然后让其他视图填充屏幕的其余部分


每当我在屏幕上创建大量文本或项目时,我的视图还没有滚动到底部。如果我自己在向下滚动win/view之后不销毁并重新创建它,那么我可能会看到这个。特别是如果我试图重用屏幕上已经显示的项目,并用数据重新加载它们。

使用标签作为上述解决方案将达到效果。但是,标签的字符限制较短。在长文本上使用标签会剪切文本。通过将editable属性设置为false,以及将TextArea放在ScrollView中,您可以继续在长文本上使用TextAreas。这将让您看到文本区域的顶部,因为ScrollView让您可以自由地将项目扩展到设备的视图之外,还可以通过代码实现滚动到特定区域。

我意识到插图应该水平移动。关键是我在屏幕上看到的(内容在文本区域中的定位方式是,我可以看到文本的底部而不是顶部。多行标签听起来不错-我明天早上回到办公室后会尝试一下。仅供参考,我知道没有一种设置会将其设置为多行,它只会自动为您换行。至少在我的c中是这样如果有。如果你仍然有问题,我可以看看我的来源,看看我是否设置了什么特别的。我几乎100%确定这不是必需的。听起来很合理。我从来没有想到标签会包装。我会在一个小时内工作,所以我会把它分解,然后测试。