Android自定义View之继承TextView绘制背景
作者:Brioal 发布时间:2021-11-05 11:16:06
标签:Android,自定义,View,TextView,背景
本文实例为大家分享了TextView绘制背景的方法,供大家参考,具体内容如下
效果:
实现流程:
1.初始化:对画笔进行设置
mPaintIn = new Paint();
mPaintIn.setAntiAlias(true);
mPaintIn.setDither(true);
mPaintIn.setStyle(Paint.Style.FILL);
mPaintIn.setColor(getResources().getColor(R.color.colorPrimary));
mPaintOut = new Paint();
mPaintOut.setAntiAlias(true);
mPaintOut.setDither(true);
mPaintOut.setStyle(Paint.Style.FILL);
mPaintOut.setColor(getResources().getColor(R.color.colorAccent));
2.绘制外框,内框,文字
获取组件宽高
int width = getMeasureWidth();
int height = getMeasureHeight();
绘制
@Override
protected void onDraw(Canvas canvas) {
//绘制背景,在绘制文字之前绘制
canvas.drawRect(new Rect(0, 0, getMeasuredWidth(), getMeasuredHeight()), mPaintIn);
canvas.drawRect(new Rect(10, 10, getMeasuredWidth()-10, getMeasuredHeight()-10), mPaintOut);
super.onDraw(canvas);
}
0
投稿
猜你喜欢
- 一、使用Pull解析器读取XML文件除了可以使用SAX或DOM解析XML文件之外,大家也可以使用Android内置的Pull解析器解析XML
- C# 提供了以下类型的判断语句:语句描述if一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。if...else
- Oracle 数据库,查询增加RowBounds限制查询条数,默认是0到1000条private final static int rowL
- 前言:java.util.Set接口和 java.util.List接口一样,同样继承自 Collection接口,它与
- 前段时间做项目,需要把别人做的hbuilder项目,添加到自己的app中,找了官网、博客,最终终于费了老大的劲实现了,今天就给大家分享一下我
- 一、概述:在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何自定义一个类似热
- 调用和回调机制在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种:1.同步调用同步调用是最基本并且最简
- 这是一个自定义view画圆,对于初学自定义view的小伙伴这是一个很好的帮助。 看图代码:package sjx.com.custonvie
- 前言在手写sql的时候,根据参数处理查询条件.select * from staff where 1 = 1 and staff_id in
- 考虑一个场景,轮流打印0-100以内的技术和偶数。通过使用 synchronize 的 wait,notify机制就可以实现,核心思路如下:
- 1、什么是Java反射机制?在程序运行中动态地获取类的相关属性,同时调用对象的方法和获取属性,这种机制被称之为Java反射机制下面给出一个反
- 一、前言Java 8 引入了默认方法以及可以在接口中定义的静态方法。默认方法是一个普通的 java 方法,但以 default 关键字开头,
- Transfer-Encoding简介transfer-eccoding所描述的是消息请求(request)和响应(response)所附带
- 1、Pull概述Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 X
- 案例sql脚本DROP DATABASE IF EXISTS `javacode2018`;CREATE DATABASE `javacod
- 序本文主要研究一下java String的internString.intern()java.base/java/lang/String.j
- 阻塞、无饥饿、无障碍、无锁、无等待几种。阻塞一个线程是阻塞的,那么在其他线程释放资源之前,当前线程无法继续执行。当我们使用synchroni
- 在 C语言中,占位符是一种用于格式化输出的特殊字符,通常用于 printf() 等输出函数中,用于指定输出的格式和内容。在本文中,我们将详细
- 本文实例讲述了Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法。分享给大家供大家参考,具体如下:情景描述:在a
- C#连接本地.mdf文件:项目中右键点击,新增——数据——基于服务的数据库,项目下直接生成.mdf数据库文件,后台(数据库的写入用参数传递)