android 走马灯效果

释放双眼,带上耳机,听听看~!

最进其实自己也没什么想写的内容,不过自己觉得还是需要每天写点东西,好的习惯还是要保持的。所以今天讲讲textview的文字显示走马灯的效果,这个实在太简单了。

项目开发中有些时候TextView的文本内容太长了显示不全,这个时候需要让它实现像网页上面的跑马灯效果,网上很多文章都是自定义控件继承自TextView来实现的,自己在实践中发现不用自定义控件也可以实现跑马灯的效果,因为Android原生的TextView已经支持跑马灯的效果了。

关键之处在于设置TextView的四个属性值:

android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"

尤其是下面两个属性:

android:focusable="true"
android:focusableInTouchMode="true"

只有当它获取到焦点的时候才会滚动。

完整布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        android:text="@string/txt_title"
        android:textSize="15sp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/confirm"
        android:textSize="15sp"/>

</LinearLayout>

其实主要的属性是android:ellipsize=“marquee”和android:marqueeRepeatLimit=“marquee_forever” ,这两个一个是设置文字的走马德灯效果,一个是设置文字一直移动,当然文字必须足够长,才会有效果。

 

设置textView走马灯效果就讲完了。

 

就这么简单。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

人已赞赏
Android文章

android手机(root过)上实现关机、重启的方法

2020-3-12 14:11:01

Android文章

Android开发解决webView去掉状态栏 软键盘盖住输入框问题

2020-3-12 15:11:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索