继昨天写了一个TextView可以包括两种不同的风格字体,而保证可以换行的情况下的自定义View。今天的正文还是写一个自定义的TextView。
一惯风格首先亮出实现效果,这最是直接不过的了。看下图:
其实不通过写一个自定义view的方式也可以实现这个效果,但是就需你在你class文件中堆更多的代码了,这从软件工程的思想是不可取的。所以还是为了不省事,去写一个自定义的TextView控件吧。相信大家都会写这种比较简单的自定义view了。
首先给出这个自定义view的类RadioTextView,代码如下:
package com.example.yuzhuo.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import com.example.yuzhuo.R;
/**
* Created by yuzhuo on 16/9/4.
*/
public class RadioTextView extends View{
/**
* title文本
*/
private String mTitleText;
/**
* title文本的颜色
*/
private int mTitleTextColor;
/**
* titel文本的大小
*/
private int mTitleTextSize;
/**
* background
* @param context
* @param attrs
*/
private int background;
/**
* 圆角大小
*/
private int mCornerSize;
/**
* 绘制时控制文本绘制的范围
*/
private Rect mtitleBound;
private Paint mtitlePaint;
public RadioTextView(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public RadioTextView(Context context)
{
this(context, null);
}
/**
* 获得我自定义的样式属性
*
* @param context
* @param attrs
* @param defS