2017-01-29 53 views
3

試圖從數組中填充textview(s)。我設法通過代碼來獲取下面以編程方式編輯Textview選取框

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/marque_scrolling_text" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp" 
     android:ellipsize="marquee" 
     android:marqueeRepeatLimit="marquee_forever" 
     android:padding="16dp" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:text="Create a Marquee (Scrolling Text) in Android Using TextView. Android Marquee (Scrolling Text) Tutorial with Example" 
     android:textSize="24sp" /> 
</LinearLayout> 

通過XML所期望的效果,但我需要一些這些陣列中的 - 因此,我相信創造textviews編程可能是答案,但不能讓他們選取框。這是我正在處理的代碼。

String[] strings = {"Mark", "James", "Paul"}; 
     LinearLayout layout = (LinearLayout)findViewById(R.id.linearlayout); 


     for(String s : strings) 
     { 
      TextView newTextView = new TextView(this); 
      newTextView.setText(s); 
      newTextView.setSingleLine(true); 
      newTextView.setEllipsize(TextUtils.TruncateAt.END);  
      newTextView.setHorizontallyScrolling(true); 
      newTextView.setLines(1); 
      newTextView.setMarqueeRepeatLimit(-1); 
      newTextView.setSelected(true); 
      newTextView.setTextSize(24); 
      layout.addView(newTextView); 
     } 

回答

2

試試這個。

final RelativeLayout relativeLayout = new RelativeLayout(this); 
final RelativeLayout relativeLayoutbotombar = new RelativeLayout(this); 
textView = new TextView(this); 
textView.setId(1); 

RelativeLayout.LayoutParams relativlayparamter = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.MATCH_PARENT, 
        RelativeLayout.LayoutParams.MATCH_PARENT); 

     RelativeLayout.LayoutParams relativlaybottombar = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT); 
     relativeLayoutbotombar.setLayoutParams(relativlaybottombar); 


     textView.setText("text text text text text, with a long "); 
     textView.setEllipsize(TruncateAt.MARQUEE); 
     textView.setSelected(true); 
     textView.setSingleLine(true); 


     relativeLayout.addView(relativeLayoutbotombar); 
     relativeLayoutbotombar.addView(textView); 
     setContentView(relativeLayout, relativlayparamter); 

另一種選擇:

TextView textView = (TextView) this.findViewById(R.id.xxx); 
textView.setEllipsize(TruncateAt.MARQUEE); 
textView.setText("Text text text text"); 
textView.setSelected(true); 
textView.setSingleLine(true); 
+0

感謝您的及時回覆,但似乎沒有工作 - 沒有滾動。 –

+0

檢查更新@MarkJames – josedlujan

4

試試這個。它的工作

TextView testing = (TextView) this.findViewById(R.id.testing); 
testing.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
testing.setMarqueeRepeatLimit(-1); 
testing.setSingleLine(true); 
testing.setSelected(true);