2016-09-08 81 views
2

我通過編程創建了TextView。我建立選取框和單線爲這樣:TextView未在1行中顯示全文 - Android

contol_list_textview_scrolltext[t].setEllipsize(TextUtils.TruncateAt.MARQUEE); 
contol_list_textview_scrolltext[t].setSingleLine(true); 
contol_list_textview_scrolltext[t].setMaxLines(1); 
contol_list_textview_scrolltext[t].setLines(1); 
contol_list_textview_scrolltext[t].setMarqueeRepeatLimit(-1); // marquee forever 
contol_list_textview_scrolltext[t].setHorizontalFadingEdgeEnabled(true); 
contol_list_textview_scrolltext[t].setHorizontallyScrolling(true); 
contol_list_textview_scrolltext[t].setFocusable(true); 
contol_list_textview_scrolltext[t].setFocusableInTouchMode(true); 
contol_list_textview_scrolltext[t].setSelected(true); 

我仍然只能看到上相同的寬度在屏幕文本,未示出的其他文本。當我嘗試從左到右滑動TextView

我試圖將寬度設置爲非常大的寬度,但它仍然無法工作。

有關如何讓TextView在1行顯示全文的任何建議?

+0

有U使用上的TextView matchParent寬度是多少? – Rodriquez

+0

@Rodriquez不,我使用setWidth(3000),我嘗試了很多其他更大的值,仍然是相同的結果 – MBH

+0

wrap_content?嘗試它,這必須像多少文字==這麼多大小 – Rodriquez

回答

0

當我嘗試從左向右滑動TextView。

TextView不會滾動沒有。您必須將其添加到具有滾動行爲的父級中,例如HorizontalScrollView

+0

滑動它與動畫,所以沒有必要父母 – MBH

+0

試試這個http://stackoverflow.com/a/3333855/244702 –

1

我想你的代碼,我收到這樣的,我添加PARAMS

代碼

LinearLayout linearLayout=(LinearLayout)findViewById(R.id.fragment_container); 



    contol_list_textview_scrolltext=new TextView[7]; 
    for (int t=0;t<7;t++) 
    { 

     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 

     contol_list_textview_scrolltext[t]=new TextView(demo.this); 
     contol_list_textview_scrolltext[t].setEllipsize(TextUtils.TruncateAt.MARQUEE); 
     contol_list_textview_scrolltext[t].setSingleLine(true); 
     contol_list_textview_scrolltext[t].setMaxLines(1); 
     contol_list_textview_scrolltext[t].setLines(1); 
     contol_list_textview_scrolltext[t].setMarqueeRepeatLimit(-1); // marquee forever 
     contol_list_textview_scrolltext[t].setHorizontalFadingEdgeEnabled(true); 
     contol_list_textview_scrolltext[t].setHorizontallyScrolling(true); 
     contol_list_textview_scrolltext[t].setFocusable(true); 
     contol_list_textview_scrolltext[t].setFocusableInTouchMode(true); 
     contol_list_textview_scrolltext[t].setSelected(true); 
     contol_list_textview_scrolltext[t].setLayoutParams(params); 
     contol_list_textview_scrolltext[t].setTextSize(30); 
     contol_list_textview_scrolltext[t].setText("I am fan of Stackoverflow website. It so helping to me also to other. Tons of example here to solve us problem and also we ask question solve in a minuts or good helping "); 
     linearLayout.addView(contol_list_textview_scrolltext[t]); 
    } 

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:padding="10dp" 
    android:orientation="vertical"> 
    /> 


</LinearLayout> 

結果

enter image description here

+0

我們可以讓它從最右邊開始? – MBH

0

WRAP_CONTENT應該這樣做。

一件事

嘗試必要的屬性首先希望.setSingleLine(true),setHorizontallyScrolling(true);setellipsize(textutils.truncateat.MARQUEE)