TextView没有部分绘制的线条

时间:2011-02-02 05:26:42

标签: android android-widget textview

是否可以在Android中创建可以滚动多行文本的TextView,但不会绘制文本的第一行或最后一行,除非它可以完全绘制在它的高度?我意识到滚动时看起来可能很奇怪,但我不想看到截断的顶部或底部字符。

建议的解决方案可能涉及修改Android平台。

4 个答案:

答案 0 :(得分:1)

我不知道你修改android平台是什么意思,但是如果你想要一个全新的行为,编码你自己的TextView(或扩展android TextView以改变滚动)没有限制。

如果您确实想要这样做,可以更改Touch / Scrolll行为以直接滚动到下一个/上一个可见行尝试更改TextView Scoller(setScoller( )方法)。如果这不起作用,您将必须编写自己的代码(基本上按textview.getLayout().getLineTop(line number)获取行位置并将屏幕顶部定位到该点。)

您唯一的限制是当您需要更改嵌入在“内核”中的内容时(例如,MediaPlayer中的媒体协议)。

选中此marquee example

答案 1 :(得分:0)

查看您是否可以将此类http://developer.android.com/reference/android/text/method/ScrollingMovementMethod.html与滚动条一起使用。 textView高度需要是文本行高的倍数。

答案 2 :(得分:0)

令人惊讶的是,我建议你使用WheelView by Yuri

如果你选择背景,高度和宽度的良好组合;你会得到你想要的效果。

答案 3 :(得分:0)

Android Terminal Emulator项目包含一个带有EmulatorView类的库,它的行为与我想要的一样,并且是开源的:https://github.com/jackpal/Android-Terminal-Emulator

它包含了相当多的终端内容的额外代码,但可能会在必要时删除。但是我必须假设它只支持等宽字体,这使得它不那么有用。