public class ViewPagerTittleView extends LinearLayout {
private static final String TAG = "View";
private Paint mPaint;
private Path mPath;
private int mWidth;
private int mHeight;
private static final float WIDTH_RADIO = 1/6f;
private int mInitTransX;
private int mTransX;
public ViewPagerTittleView(Context context) {
this(context,null);
}
public ViewPagerTittleView(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint();
mPaint.setStyle(Paint.Style.FILL);
mPaint.setAntiAlias(true);
mPaint.setColor(Color.parseColor("#ffffff"));
Log.d("View", "ViewPagerTittleView: ***********");
}
@Override
protected void dispatchDraw(Canvas canvas) {
canvas.save();
canvas.translate(mInitTransX+mTransX,getHeight());
canvas.drawPath(mPath,mPaint);
canvas.restore();
Log.d(TAG , "dispatchDraw: *****");
super.dispatchDraw(canvas);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mWidth = (int) (w/3*WIDTH_RADIO);
mHeight = mWidth/2;
mInitTransX = w/3/2-mWidth/2;
initTriangle();
Log.d(TAG, "onSizeChanged: ********");
Log.d(TAG, "onSizeChanged: mWidth = "+mWidth+" mInitTranslationX = "+mInitTransX+
" mHeight = "+mHeight);
}
/**
* 初始化三角形
*/
private void initTriangle() {
mPath = new Path();
mPath.moveTo(0,0);
mPath.lineTo(mWidth,0);
mPath.lineTo(mWidth/2,-mHeight);
mPath.close();
Log.d("View", "initTriangle:*************** ");
}
}