Android 代码画角标 offcutView
16lz
2021-01-23
效果如下:
代码:
<com.andye.OffcutView android:layout_width="30dp" android:layout_height="30dp"/>
public class OffcutView extends View { private String Text ="";// private int textSize = 22; private int radius=6; public ChampionShipOffcutView(Context context) { super(context); } public ChampionShipOffcutView(Context context, AttributeSet attrs) { super(context, attrs); } public ChampionShipOffcutView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @SuppressLint("DrawAllocation") protected void onDraw(Canvas canvas) { if(Text==null) { return; } int w = getWidth(), h = getHeight(); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.argb(255, 69, 112, 234)); canvas.drawCircle(radius, radius, radius, paint); Path path = new Path(); path.moveTo(radius, 0); path.lineTo( w, 0); path.lineTo(0, h); path.lineTo(0, radius); path.close(); canvas.drawPath(path, paint); canvas.save(); TextPaint textPaint = new TextPaint(); textPaint.setColor(Color.argb(255, 255, 255, 255)); textPaint.setAntiAlias(true); textPaint.setTextSize(w/4); float x,y; y=w*0.707f; y=(y*8)/10; x=(float) (-textPaint.measureText(Text))/2; canvas.rotate(-45); canvas.drawText(Text, x , y, textPaint); canvas.restore(); } public void setText(String str) { Text = str==null?"":str; invalidate(); } }
更多相关文章
- android开机自启广播无效果的曲线解决方案
- [1] Android主要源代码组成
- Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
- Android Studio 活动的启动模式 standard singleTop singleTask
- Android 实例子源代码文件下载地址380个合集
- Android TextView 跑马灯效果
- 安卓布局属性代码中文注解
- android 开发技巧(9)--为文本添加发亮的效果