Android怎样实现左上角倾斜的标签效果
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍Android怎样实现左上角倾斜的标签效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现的思路大致如下图:主页面的布局结构如下:
千家信息网最后更新 2026年10月31日Android怎样实现左上角倾斜的标签效果
这篇文章主要介绍Android怎样实现左上角倾斜的标签效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
实现的思路大致如下图:
主页面的布局结构如下:
绘制倾斜标签的代码如下:
package com.zc.labeldemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.util.AttributeSet;import android.view.View;import androidx.annotation.Nullable;/** * @author wenchao * @version 1.0.1 * @className LabelView * @date 2019/9/20 * @description */public class LabelView extends View { /** * 画笔 */ private Paint paint; /** * Path */ private Path path; /** * View宽度 */ private float width; /** * View高度 */ private float height; /** * 标签背景宽度 */ private float labelWidth; /** * 标签折叠区域宽度 */ private float pointWidth; /** * 标签折叠区域高度 */ private float pointHeight; /** * 标签背景颜色 */ private int labelColor; /** * 标签折叠区域背景颜色 */ private int pointColor; /** * 中心点x坐标 */ private float centerX; /** * 中心点y坐标 */ private float centerY; /** * 标签文字内容 */ private String text; /** * 标签文字颜色 */ private int textColor; public LabelView(Context context) { super(context); } public LabelView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(); } private void init() { labelWidth = 120; pointWidth = 10; pointHeight = 17; paint = new Paint(); path = new Path(); paint.setAntiAlias(true); paint.setStrokeWidth(10); setBackgroundColor(Color.TRANSPARENT); labelColor = Color.parseColor("#EA6724"); pointColor = Color.parseColor("#C43200"); text = "测试内容"; textColor = Color.WHITE; } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); width = w; height = h; centerX = w/2; centerY = h/2; } @Override public void draw(Canvas canvas) { super.draw(canvas); //画标签区域背景上边的折叠区域(小三角区域) path.reset(); path.moveTo(width-pointWidth,0); path.lineTo(width,pointHeight); path.lineTo(width-pointWidth-26,pointHeight); path.close(); paint.setColor(pointColor); canvas.drawPath(path,paint); //画标签背景区域下边的折叠区域 path.reset(); path.moveTo(0,height-pointWidth); path.lineTo(pointHeight,height); path.lineTo(pointHeight,height-pointWidth-26); path.close(); paint.setColor(pointColor); canvas.drawPath(path,paint); //画标签背景区域 path.reset(); paint.setColor(labelColor); paint.setStyle(Paint.Style.FILL); path.moveTo(width-labelWidth-pointWidth,0); path.lineTo(width-pointWidth,0); path.lineTo(0,height-pointWidth); path.lineTo(0,height-labelWidth-pointWidth); canvas.drawPath(path,paint); //画文字 逆时针选择45度 canvas.rotate(-45,centerX,centerY); //文字中心点横坐标 float textX = width / 2; //文字中心点纵坐标 float textY = (height-pointWidth-(labelWidth / 2f)) / 2f; paint.setColor(textColor); paint.setStyle(Paint.Style.FILL); paint.setTextSize(38); //设置文字居中绘制 paint.setTextAlign(Paint.Align.CENTER); canvas.drawText(text,textX,textY,paint); }}以上是"Android怎样实现左上角倾斜的标签效果"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
标签
区域
文字
背景
中心点
内容
宽度
颜色
左上角
效果
坐标
篇文章
高度
上边
主页
代码
价值
兴趣
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网技术
科技服务与互联网
合肥互联网科技公司
深圳互联网络科技有限公司
以房互联网科技
科技互联网公司logo
沃里互联网科技
互联网科技视频素材
联恩商钥互联网科技有限公司
华中科技有哪些互联网大佬
互联网科技热点资讯
工业互联网等科技实现智能化赋能
明优互联网科技有限公司
北京市互联网新科技
产业互联网科技服务公司
35岁以上互联网科技行业
福州德业互联网科技
数字科技和互联网金融哪个好
宁波允成互联网科技有限公司
互联网企业和网络科技有限公司
百单网互联网科技有限公司
天津市摩尔互联网科技
科技互联网龙头
互联网科技英文
互联网科技公司官网
互联网女皇 腾讯科技
华服互联网科技官网
河南猎农互联网科技有限公司
互联网公司高科技产品
互联网科技数字货币