2012-09-28 214 views
1

我從Android電子TextView中派生的類來定製其滾動基於此示例文本一個TextView:Original Example Code截斷文本

我的問題是,該文本在不同的位置被截斷取決於滾動過程中文本的大小。例如,當文本大小小於100時,某些長度爲90個字符的文本可以滾動,但如果文本大小設置爲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

檢查橫向/縱向模式期間的textview高度是否發生變化以及您是否設置爲fill_parent高度。這隻會填充父級控件的設備大小,如果內容大於大小,則不會滾動。您可以將此視圖放在scrollview中,並將textview高度設置爲wrap_content。

+0

這並沒有解決問題,因爲文本大小增加了文本的字符數被截斷。文字大小越大,文字字符串越少。在我的文本大小爲240的測試中,它只顯示我的字符串的前83個字符。 – Mark