安卓中TextView显示歌名,但有的歌名太长,想弄个跑马灯但显示不成功,不会动代码如下
请高手们看看哪里不对?
<TextView android:id="@+id/musicName"
    android:maxEms = "10"
    android:ellipsize = "marquee"
    android:maxLines = "1"
    android:marqueeRepeatLimit ="marquee_forever"
    android:focusable="true" 
          android:focusableInTouchMode="true" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
    android:layout_marginLeft="25dip"
            android:text="">
</TextView>
TextView能内容是动态添加的

解决方案 »

  1.   

    把android:maxLines = "1"换成android:singleLine="true"试一下.动态添加就是在Activity中获取到TextView对象,调用setText()方法来动态设置.
      

  2.   

    手指点一下 TextView 控件,要有焦点才会开启跑马灯。
      

  3.   


    public class AlwaysMarqueeTextView extends TextView { public AlwaysMarqueeTextView(Context context) {
    super(context);
    } public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    } public AlwaysMarqueeTextView(Context context, AttributeSet attrs,
    int defStyle) {
    super(context, attrs, defStyle);
    } @Override
    public boolean isFocused() {
    return true;
    }
    }用这个就可以实现了
      

  4.   


    public class AlwaysMarqueeTextView extends TextView { public AlwaysMarqueeTextView(Context context) {
    super(context);
    } public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    } public AlwaysMarqueeTextView(Context context, AttributeSet attrs,
    int defStyle) {
    super(context, attrs, defStyle);
    } @Override
    public boolean isFocused() {
    return true;
    }
    }用这个就可以实现了
      

  5.   

    把android:maxLines = "1"换成android:singleLine="true"试一下.动态添加就是在Activity中获取到TextView对象,调用setText()方法来动态设置
    获得焦点就会出现走马灯的效果了。
      

  6.   

    嘿嘿,我自己找到了。少了个 android:scrollHorizontally="true"
    下面是正确的
     <TextView
                android:id="@+id/musicName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="25dip"
                android:ellipsize="marquee"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:marqueeRepeatLimit="marquee_forever"
                android:maxEms="10"
                android:maxLines="1"
                android:scrollHorizontally="true"
                android:text="" >
            </TextView>