Android app widget中实现跑马灯效果(非widget部件也实用)

原文地址:http://blog.csdn.net/luoyebuguigen/article/details/37533631

关键是需要在TextView中嵌入requestForcus标签才会有效果。

<TextView   
        android:id="@+id/widget_item_name"  
        android:layout_height="wrap_content"  
        android:layout_width="wrap_content"  
        android:paddingLeft="10dip"  
        android:paddingRight="10dip"  
        android:text="Baby Room"  
        android:textColor="@android:color/white"  
        android:textSize="@dimen/testSize18"  
        android:singleLine="true"  
        android:ellipsize="marquee"  
        android:marqueeRepeatLimit="marquee_forever"  
        android:scrollHorizontally="true"  
        android:focusable="true"  
        android:focusableInTouchMode="true">  
        <requestFocus  
            android:focusable="true"  
            android:focusableInTouchMode="true"  
            android:duplicateParentState="true"/>  
    </TextView> 

另外还有不使用ScrollView也可滚动的方法

TextView textview = (TextView) findViewById(R.id.text);  
            /**             *
             * 只有调用了该方法,TextView才能不依赖于ScrollView而实现滚动的效果。
             * 要在XML中设置TextView的textcolor,否则,当TextView被触摸时,会灰掉。
             */  
 
            textview.setMovementMethod(ScrollingMovementMethod.getInstance()); 

xml如下:

<TextView  
      android:layout_width="match_parent"  
      android:layout_height="wrap_content"  
      android:textSize="18sp"  
      android:scrollbars="vertical"  
       android:maxLines="12"  
      android:textColor="@color/white"  
      android:id="@+id/text"  
      android:text="hello world"  
     ></TextView> 

 备注:有些字符串为英文时,无法滚动,需要在字符串增加一个换行符

// 单曲   有些歌曲名和艺术家名是英文,无法进行滚动,需要再后面加一个回车符
ct_dec_playbar.setText(getString(R.string.play_title, title, artistname) + " ");
原文地址:https://www.cnblogs.com/baiyi168/p/5748202.html