2013-10-31 135 views
1

我在本主題中閱讀了一些主題,但是我還沒有找到解決方案。 我想在TextView上使用scrollHorizo​​ntally屬性,但是使用Java代碼。Android TextView水平滾動不起作用

這裏是我的嘗試:

 nameTextView = new TextView(context); 
     nameTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20); 
     nameTextView.setId(R.id.header_text_id); 
     nameTextView.setGravity(Gravity.CENTER | Gravity.LEFT); 
     nameTextView.setSingleLine(); 
     nameTextView.setHorizontallyScrolling(true); 
     nameTextView.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
     nameTextView.setFocusableInTouchMode(true); 
     nameTextView.setMarqueeRepeatLimit(-1); 
     nameTextView.setFocusable(true); 

     Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/robotocondensed.ttf"); 
     nameTextView.setTypeface(tf); 
     nameTextView.setTextColor(getResources().getColor(android.R.color.white)); 

我後來設置文本。文本不滾動,這裏可能是什麼問題?

回答

1
android:maxLines = "AN_INTEGER" 

android:scrollbars = "vertical" 

然後設置:如何讓一個水平滾動的TextView在Android中

yourTextView.setMovementMethod(new ScrollingMovementMethod()) 
+0

我說的最後一行(我不能使用從Java滾動條屬性,但我不希望看到它與使用的setSingleLine()方法),這導致如果移動文本它開始移動,但不會自動執行。我怎麼能自動啓動它? – viplezer

+0

我添加了nameTextView.requestFocus(),它的工作原理。感謝您的回覆! – viplezer