我有一个派生自Android TextView的类来自定义TextView,它根据此示例滚动文本:Original Example Code
我的问题是文本在不同位置被截断,具体取决于滚动期间文本的大小。例如,一些长度为90个字符的文本在文本大小小于100时滚动正常,但如果文本大小设置为240(因此它在横向模式下填充我的手机高度)文本在字符位置83处被截断。文本大小越被截断。
这几乎就像有某种内存限制一样?
ScrollTextView scrolltext;
scrolltext.setTextSize(TypedValue.COMPLEX_UNIT_PX, xtextsize);
scrolltext.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
scrolltext.setSingleLine(true);
scrolltext.setEllipsize(null);
scrolltext.setMaxLines(1);
scrolltext.startScroll();
并在班级
setHorizontallyScrolling(true);
mSlr = new Scroller(this.getContext(), new LinearInterpolator());
setScroller(mSlr);
int scrollingLen = calculateScrollingLen()
int duration = (new Double(((scrollstart.mRndDuration*10)/getWidth())*getText().length())).intValue();
setVisibility(VISIBLE);
mSlr.startScroll(mXPaused, 0, scrollingLen, 0, duration);
如果有人想尝试重新创建问题,可以使用original example code重新创建问题。
那么有没有人知道为什么文本会根据文本大小在不同位置被截断?
我的布局
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.test.testing.ScrollTextView
android:id="@+id/scrolltext"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:textSize="20sp"/>
</LinearLayout>
提前致谢
此外:当使用不同的字体时,截断开始的点在使用相同的文本大小时会改变位置。仍然看起来像资源问题,但在哪里增加缓冲区?
答案 0 :(得分:0)
检查横向/纵向模式期间的textview高度是否更改以及设置为fill_parent的高度。这只会将控件的父级填充为设备大小,如果内容大于大小,则不会滚动。您可以将此视图放在scrollview中,并将textview height设置为wrap_content。