//布局文件

<com.bw.u.liangweihangdiyizhouer.MyView
    android:id="@+id/MyTextView"
    android:layout_width="600dp"
    android:layout_height="600dp"
    android:layout_centerInParent="true"
    />

//自定义控件的类

public class MyView extends TextView{private Paint mPaint;
    public MyView(Context context) {this(context,null);
    }public MyView(Context context, AttributeSet attrs) {this(context, attrs,R.style.AppTheme);
    }public MyView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);
        mPaint=new Paint();
    }@Override
    protected void onDraw(Canvas canvas) {super.onDraw(canvas);
    }protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {super.onMeasure(heightMeasureSpec,widthMeasureSpec);
    }

//MainActivity的代码

public class MainActivity extends AppCompatActivity {private boolean flag=true;
    private MyView myView;
    private int count=0;
    private ArrayList<String> list=new ArrayList<>();
    private Handler handler=new Handler(){public void handleMessage(Message msg) {if (msg.what==0){myView.setText(list.get(count));
                myView.setTextSize(50);
                myView.setBackgroundColor(Color.parseColor(list.get(count)));
                if (count<list.size()-1){count++;
                }else {count=0;
                }handler.sendEmptyMessageDelayed(0, 2000);
            }}};
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myView = (MyView) findViewById(R.id.MyTextView);
        list.add("#6187c5");
        list.add("#00cc00");
        list.add("#ffffff");
        list.add("#666cc9");
        list.add("#f00000");
        list.add("#00ff00");
        //从元素的第一个开始
        myView.setText(list.get(count));
        //开始给自定义赋值
        myView.setBackgroundColor(Color.parseColor(list.get(count)));
        //发送延迟消息
       handler.sendEmptyMessageDelayed(0, 2000);
        //点击监听
        myView.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if (flag){flag=false;
                Toast.makeText(MainActivity.this,"关闭两秒改变事件",Toast.LENGTH_SHORT).show();
                //移除发送的消息
                handler.removeMessages(0);
            }else {flag=true;
                count=0;
                Toast.makeText(MainActivity.this,"开启两秒改变事件",Toast.LENGTH_SHORT).show();
                handler.sendEmptyMessageDelayed(0,2000);
               }}});
    }
}

自定义控件三秒改变改变颜色相关推荐

  1. Java背景颜色怎么设成随机的_JS实现随机改变背景颜色

    JS实现随机改变背景颜色 JS实现随机改变背景颜色 使用Js实现随便点击页面某位置就能改变页面背景颜色的功能 function changeBg(){//改变背景颜色的函数 var bgColor=& ...

  2. C语言教你怎么改变字体颜色

    初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性. 废话不多说,先来看一下效果图: /* 颜色函数SetConsoleTextAttribute(GetStdHandle ...

  3. iOS 改变图片颜色

    在做项目的时候碰到了一个需求,把app的主题颜色改变成另外一种颜色,由于没有给出新的素材图片,需要把现有图片的颜色改变一下.下面是改变图片颜色的方法(一般对于单一颜色的图片) imageWithRen ...

  4. mpvue微信小程序中使用svg图标,并通过代码动态改变图标颜色

    微信小程序,mpvue中使用svg图标,并通过代码改变图标颜色 本文主要是mpvue开发小程序的代码,不过微信小程序原生开发应该也是一样的,思路都是通用的,按照这个思路微信小程序原生开发一样可以实现同 ...

  5. Bitmap 处理图片修改为透明背景,改变主颜色

    先上图,有图有实践 很明显前一个指纹把下面的签名遮挡住,后一个达到了签名按指纹的效果 注:在Android7.0上面测试效果不佳 目录 前言 一.Bitmap是什么? 二.使用setPixel 修改指 ...

  6. OpenCV for Python之改变图片颜色

    OpenCV for Python之改变图片颜色 1.环境 2 直接修改通道值 3.与.或.非.异或操作 Opencv4 官方文档 : https://docs.opencv.org/4.2.0/ O ...

  7. 在DX12中使用imgui 入门教程 立方体旋转+改变背景颜色

    入门imgui第一天,把遇到的问题和参考两位大佬写的教程,总结了一下,写了下来,若有错误欢迎指正 参考文章: [记录]DirectX12 添加ImGui组件 - 知乎 (zhihu.com) Dire ...

  8. android改变图标颜色

    同一个图标,但是可能会有多种背景颜色.比如,标识空气质量的图标,因空气质量有多种情形,对应的图标就有多种背景颜色. 实现这种需求有两种方式: 1.针对每一种情形,切一张对应的图标. 2.只切一张图标, ...

  9. html怎么改变图片亮度,纯干货,前端学者的福音!如何使用css滤镜改变图片颜色...

    原标题:纯干货,前端学者的福音!如何使用css滤镜改变图片颜色 说到对图片进行处理,我们经常会想到PS,美图秀秀这类的图像处理工具.作为前端,全栈开发者,我们经常会需要处理一些特效,例如根据不同的状态 ...

最新文章

  1. 10 种机器学习算法的要点
  2. 关于单点登录中同一浏览器session信息共享的又一解决办法
  3. Python基于OpenCV的人脸检测
  4. 基于ArcEngine与C#的鹰眼地图实现
  5. 在保护继承中基类的共有成员_C++面向对象:C++ 继承
  6. Tableau可视化学习笔记:day07-08
  7. 【渝粤教育】国家开放大学2019年春季 690化工原理及实验 参考试题
  8. P1491 集合位置
  9. mysql5.7.22.zip使用,mysql5.7.22 zip 版安装
  10. RHEL6 下搭建 nginx + uwsgi + cgi 平台
  11. 论文阅读 || 语义分割系列 —— deeplabv1 详解
  12. 三星note9刷Android9,【极光ROM】-【三星NOTE9 N960X-9810】-【V21.0 Android-Q-THB】
  13. vb程序设计编程科学计算机,Visual Basic程序设计教程:计算机类
  14. 秋天视频批量生成GIF V1.32
  15. HTML技巧篇——禁止网页元素被右击、拖动、选中、复制
  16. 英语语法回顾1——简单句
  17. 深入了解iPad上的MouseEvent
  18. 新浪微博用户密码泄露 经部分用户验证为真
  19. 安卓修改电池容量教程_安卓手机用re管理器修改电池信息增加待机时间
  20. Android数据备份(Android Data Backup)

热门文章

  1. web2.0常用网页配色
  2. 对植物大战僵尸的数据修改
  3. 张艾迪(创始人):年少创业与干净的我
  4. 天边一朵云-书画双绝
  5. mongodb数据文件格式
  6. Win11怎么关闭系统保护功能?系统保护还原功能怎么关闭?
  7. 三星Android手机进入工程模式
  8. 计算机显示器文字不清楚,笔记本电脑字体显示不清晰解决方法分辨率和显卡驱动...
  9. 光刻技术-无掩模高精度激光直写
  10. 捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)