2012-05-24 111 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

相关问题