首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TextView的Android - Flashing backgroundColor和textColor

TextView是Android中常用的UI控件,用于显示文本内容。它可以设置背景颜色和文本颜色,实现闪烁效果。

要实现TextView的闪烁效果,可以使用动画和定时器来改变其背景颜色和文本颜色。以下是一个示例代码:

代码语言:txt
复制
import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView textView;
    private ObjectAnimator backgroundColorAnimator;
    private ObjectAnimator textColorAnimator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        // 创建背景颜色动画
        backgroundColorAnimator = ObjectAnimator.ofObject(textView, "backgroundColor", new ArgbEvaluator(),
                Color.WHITE, Color.RED);
        backgroundColorAnimator.setDuration(500);
        backgroundColorAnimator.setRepeatCount(ObjectAnimator.INFINITE);
        backgroundColorAnimator.setRepeatMode(ObjectAnimator.REVERSE);

        // 创建文本颜色动画
        textColorAnimator = ObjectAnimator.ofObject(textView, "textColor", new ArgbEvaluator(),
                Color.BLACK, Color.WHITE);
        textColorAnimator.setDuration(500);
        textColorAnimator.setRepeatCount(ObjectAnimator.INFINITE);
        textColorAnimator.setRepeatMode(ObjectAnimator.REVERSE);

        // 启动动画
        backgroundColorAnimator.start();
        textColorAnimator.start();
    }
}

上述代码中,我们使用ObjectAnimator类创建了两个动画对象,分别用于改变TextView的背景颜色和文本颜色。通过设置动画的属性、起始值、结束值、持续时间、重复次数和重复模式,实现了闪烁效果。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns)可以用于实现消息推送,适用于移动应用开发中的消息通知场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 学习|Android中实现进度条按钮功能(kotlin)

    ,看了看以前没有相关的东西,那这篇我们就在看看Android怎么实现按钮进度条的功能。...实现思路 要实现ProgressBar加上Button的方式,我们需要自定义类继承自View 然后在进度条滚动的时候进行样式布局的重画 创建xml的自定义属性和点击的接口监听事件 实现按钮进度条,并重新按钮的事件...划重点 我这里实现的是一个简单的方式,可以在这个基础上加上自己的一些新的设计,比如说加载进度条时的颜色和背景色重设,按钮在不同状态下的不同颜色,进度条中状态的监听等方法实现。..."> TextView android:layout_width="wrap_content" android:layout_height="wrap_content...app:textcolor="@color/colorWhite" app:text="点击开始" android:id="@+id/progressbtn" /> <

    1.8K20

    DSL In Action

    ) inline fun ViewManager.textView(init: (@AnkoViewDslMarker android.widget.TextView).() -> Unit): android.widget.TextView...另外,我们构造View的方式还有,传入一个Context就可以构建出一个View,我们可以瞅瞅相关的代码: inline fun Context.constraintLayout(): android.support.constraint.ConstraintLayout...当然Anko因为避免了反射,提高了大量的性能。 DSL和XML并不是冲突的,DSL用于解决布局中细碎和动态的部分,而XML用于单页布局,复杂布局。...同时DSL和XML也可以无缝嵌合在一起,所以两者并不是冲突的关系,也没有必要去选择“我到底该用DSL写还是XML写”,两者各有优点,了解Anko DSL并且与XML活用起来才是最优解。...XML可以拿到ViewGroup的应用然后用DSL做骚操作,DSL也可以动态添加Inflate出来的XML来实现复杂页面布局的添加 DSL和XML各有所长,DSL更适合用于页面模块的解耦,XML更多用于单页构建

    1.1K20

    Android TextView实现查看全部和收起功能

    在工作遇到上图所示的一个小需求,将“查看全部”的提示连在原文的后面,使用一个textview显示。...实现该功能大致步骤: 判断处理的文字是否超过最大的限制行数; 如果超过行数限制,截取掉超过的部分,并加上“...查看全部”; 然后用SpannableString将“查看全部”设置为蓝色,并且给整个textview...实现上述步骤的难点在于: 如何在setText()之前判断处理文字是否超过了最大的限制行数 如何获取超过限制行数最后一个文字的下标 解决以上两个问题需要用到一个处理TextView文本排版,拆行处理的工具类..., String content) { //获取TextView的画笔对象 TextPaint paint = tv.getPaint(); //每行文本的布局宽度...="wrap_content"> TextView android:id="@+id/tv" android:layout_width=

    4.6K82

    【Android】TextView的跑马灯效果

    2.gif 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果。...实现 android:ellipsize="marquee" //设置超出显示区域的内容以跑马灯效果呈现,该值还可以设置成END, START等,就是我们常见的在末尾"..."显示。...android:focusable="true" //跑马灯启动的条件之一 android:marqueeRepeatLimit="-1" //设置循环几次,-1表示无限循环 ?...而对于触屏手机来说,当触摸时,也就同时获取点击状态和焦点状态了,所以在触屏手机上,跑马灯更常见的应用场景则是,不管TextView有没有获取焦点,都让跑马灯效果一直处于启动状态,正如最上面动图里的第一个...代码如下: /** * 跑马灯效果的TextView, 使用方式: * 启动/关闭:{@link #setMarqueeEnable(boolean)} * xml文件中记得设置:android:

    5.2K60

    Flutter中富文件标签的解决方案

    *** 2 烧脑思考实践一 Flutter 应用程序被 Android iOS平台加载,在原生 Android 中,使用TextView就可轻松实现解析(如下代码清单2-1),当然在iOS中使用UILabel...// Android 原生 TextView加载Html的核心方法 //代码清单2-1 // MxgsaTagHandler 定义的一个 TagHandler 用来处理点击事件 lTextView.setText...3-2所示: ///代码清单 3-2 class TagColorModel { ///背景 Color backGroundColor; ///文本颜色 Color textColor..., this.textColor = Colors.white}); } 然后就是使用 Wrap 来使用解析的内容,如下代码清单3-3所示: ///代码清单 3-3 ///获取背景颜色...4 烧脑思考实践三 当在Flutter中 Dart 从网站中提取数据时,html依赖库是一个不错的选择,html 是一个开源的 Dart 包,主要用于从 HTML 中提取数据,从中获取节点的属性、文本和

    1.5K11

    Android TextView 中 setText 的空指针异常

    第一次发现这问题,记录一下,在适配器里面给TextView设置一个int类型的值,然后闪退报错,DeBug模式下查看了布局和id,均没有问题,再次查看日志输出,Caused By: android.content.res.Resources...$NotFoundException:String resource ID #0x86,发现有两个词引起了注意String Resources,才知道TextView在内部实现时设置的类型为String...,所以用String.valueOf(),这里再啰嗦几句,在String类型的转化问题上,String.valueOf()效率最高,因为虚拟机对它进行了特殊处理,其次是toString,最后是+""的拼接形式...,拼接String的形式内部实现其实就是toString,但是要相对复杂一些,拼接过程中产生了常量和一些判断条件,效率低下,详情见源码

    1.7K10
    领券