1、TextView里文本宽度超过TextView的宽度
2、android:ellipsize="marquee"(实现跑马灯效果)
3、只有在TextView获取到焦点时,才会滚动.所以加上android:focusableInTouchMode="true" android:focusable="true",最容易忽略的是此条.
4、滚动重复次数设置:android:marqueeRepeatLimit="marquee_forever"
让文字可以水平滑动:android:scrollHorizontally="true"
二、TextView文本滚动例子程序
2.1 activity_main.xml代码如下所示:
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:background="#ffffffff"
android:orientation="vertical"
android:paddingLeft="20dp" > <TextView
android:id="@+id/tv_recommend_app_name"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="应用名称marqueeRepeatLimit"
android:textColor="#999999"
android:textSize="10sp" /></LinearLayout>
2.2 MainActivity.java代码
package com.example.textviewautorolling;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
2.3 Textview的字体不能实现滚动效果的解决办法
在一个textview之前有同一级树或更高一级的textview在xml文件里设置了滚动属性后,再对该textview在xml里设置滚动属性则不起作用。解决办法:在代码中对TextView inside 进行设置inside.setSelected(true),就能实现textview滚动效果了,此方法对任何情况下的textview都适用。
本文标题:(五十)TextView文本滚动效果实现-创新互联
文章转载:https://www.cdcxhl.com/article46/cdsshg.html
成都网站建设公司_创新互联,为您提供定制开发、定制网站、品牌网站建设、商城网站、用户体验、小程序开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联