自定义view 中间添加汉字
2016-12-20 16:43
99 查看
相信各位都做过自定义view 下面我教各位一种简单的自定义view中间添加汉字
public int width = 150; public int height = 150; private Paint circlePaint; private Paint textPaint; private static final String TAG = "FloatCircleView"; //三个构造函数都必须调用,否则无法正常使用自定义view public FloatCircleView(Context context) { this(context,null); } public FloatCircleView(Context context, AttributeSet attrs) { this(context, attrs,0); } public FloatCircleView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initPaint(); } public void initPaint(){ circlePaint = new Paint(); circlePaint.setAntiAlias(true); circlePaint.setColor(Color.RED); textPaint = new Paint(); textPaint.setAntiAlias(true); textPaint.setTextSize(25); textPaint.setColor(Color.BLACK); textPaint.setFakeBoldText(true); } @Override protected void onDraw(Canvas canvas) { canvas.drawCircle(width / 2,width / 2,width / 2,circlePaint); String text = "登陆\n注册"; float textWidth = textPaint.measureText(text); float x = (width - textWidth) / 2; Paint.FontMetrics metrics = textPaint.getFontMetrics(); //ascent是负的,descent是正的,dy是正的 float dy = -(metrics.ascent + metrics.descent) / 2; float y = height / 2 + dy; canvas.drawText(text,x,y,textPaint); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(width,height); }
相关文章推荐
- 如何在navigationBar的中间添加一张自定义图片?
- 关于自定义View添加到layout文件和ScrollView中无法捕捉onFling事件 3ff8
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view
- 为任意自定义的View隐藏时添加动画效果
- mysql 将一张表的汉字字段的首字母借助中间表添加到表中
- 页面加入_JS,CSS使用,#include添加文件,缓存页面,页面间传递汉字,IsPostBack控制页面的加载,自定义错语页面
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- android 动态添加自定义TextView
- android 自定义View研究(二) — 自定义控件添加属性
- Iphone在table cell中添加自定义布局view
- iOS创建不带nib文件的工程之四--在自定义view上添加按钮
- 添加自定义view出现空指针异常
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- 在iPhone应用的table cell中添加自定义布局view
- 在iPhone应用的table cell中添加自定义布局view
- UITabBarView 添加自定义图片
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- Android 自定义View并添加属性介绍
- 自定义View添加滚动条