2012-05-24 100 views
3

我嘗試了很多在水平滾動文本內的列表視圖。
我希望我的TextView滾動的一個水平自動像跑馬燈 亞姆能夠設置水平滾動條和滾動觸摸它作爲Textview不滾動內部自定義列表視圖

TVad.setMovementMethod(new ScrollingMovementMethod()); 

這是我的xml文件

<?xml version="1.0" encoding="utf-8"?> 

<TextView 
    android:id="@+id/tvinboxname" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<TextView 
    android:id="@+id/tvinboxmsg"  
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tvinboxname" 
    android:maxLength="10" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<TextView 
    android:id="@+id/tvtimeStamp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_below="@+id/tvinboxmsg" 
    android:textAppearance="?android:attr/textAppearanceSmall" /> 


    <TextView 
     android:id="@+id/tvadmsg" 
     android:layout_width="wrap_content" 

     android:layout_height="wrap_content" 
     android:layout_below="@+id/tvtimeStamp" 
     android:ellipsize="marquee" 
     android:focusableInTouchMode="true" 
     android:inputType="text" 
     android:focusable="true" 
     android:marqueeRepeatLimit="marquee_forever" 
     android:lines="1" 
     android:scrollHorizontally="true" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textColor="#330066" /> 

和我的getview方法

// @Override 
     public View getView(final int position, View convertView, 
       ViewGroup parent) { 
      convertView = inflater.inflate(R.layout.inboxtextviews, null); 
      Tvname = (TextView) convertView.findViewById(R.id.tvinboxname); 
      Tvname.setText(VCAESInboxWithOutCheckboxes.Inboxlist.get(position) 
        .getname()); 
      TVmsg = (TextView) convertView.findViewById(R.id.tvinboxmsg); 
      TVmsg.setText(VCAESInboxWithOutCheckboxes.Inboxlist.get(position) 
        .getmessage()); 
      TVtimeStamp = (TextView) convertView.findViewById(R.id.tvtimeStamp); 
      TVtimeStamp.setText(VCAESInboxWithOutCheckboxes.Inboxlist.get(
        position).getTimeStamp()); 

      TVad= (TextView) convertView.findViewById(R.id.tvadmsg); 

      TVad.setText(VCAESInboxWithOutCheckboxes.Inboxlist.get(
        position).getAd()); 

      TVad.setSelected(true); 
); 
      return convertView; 
     } 

我在這個在stackoverflow中搜索了很多,無法顯示滾動文本。

回答

6

使用自定義類如下圖所示,

public class MyTextView extends TextView{ 

public MyTextView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
     rotate(); 
    } 

    public MyTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
     rotate(); 
    } 

    public MyTextView(Context context) { 
     super(context); 
     init(); 
     rotate(); 
    } 

    private void rotate() { 
     // TODO Auto-generated method stub 
     setSelected(true); 
    } 

    private void init() { 
     if (!isInEditMode()) { 

     } 
    } 


    } 

添加它在custome列表視圖XML文件中像下面顯示

<Your Package Name.MyTextView 
    android:layout_marginTop="10dip" android:id="@+id/tv_parse" 
    android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:textSize="22px" 
     android:textColor="#34A4c5" 
     android:ellipsize="marquee" 
     android:maxWidth="220dp" 
     android:fadingEdge="horizontal" 
     android:marqueeRepeatLimit="marquee_forever" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:layout_marginLeft="10dp" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_marginRight="10dp"></Your Package Name.MyTextView> 
+0

thanx它的工作 – user1203673

+0

@ user1203673沒有提到 – Khan

+0

@Khan你會告訴我我放置上面的類MyTextView.Will它是一個內部類到Adapter類(擴展Baseadapter的類)以及上面的xml文件。我希望我的textfield在列表視圖行中存在,可以垂直滾動。請在此處指導我。謝謝 – Joyson

0

爲此,您使用SimpleListAdapter從XML設計列表視圖行。 將scrollview放入XML中。

<LinearLayout> 
<scrollView> 
<textview/> 
</scrollView> 
</LinearLayout> 
+0

如果我們用滾動視圖不會被滾動字幕爲。我們必須滾動它。我希望我的文本視圖在我的列表視圖打開時自動滾動 – user1203673

3

它,你希望在名單TextView的水平滾動您需要將IDLE設置爲選定狀態。

public void bindView.... 
// Assuming you have a static view holder class 

viewHolder.myTextViewToScroll.setSelected(true); 

現在應該滾動:)

+0

@ user1484117它不滾動。 textview位於自定義列表視圖的行內 – Joyson

相關問題