为什么我按视频写的程序,并没有3角型显示出来,这是怎么回事,贴上代码了
public class ViewPagerIndicator extends LinearLayout {
private Paint mPaint;
private Path mPath;//构造三角形类
private static final float RADIO=1/6F;
private int mTriangleWidth;
private int mTriangleHeight;
private int mInitTranslationX;//三角形的初始偏移位置,及第一次出现的X坐标
private int mTranslationX=0;//随着手指滑动,三角形会移动,该数据表示移动
public ViewPagerIndicator(Context context){
super(context);
}
public ViewPagerIndicator(Context context, AttributeSet attrs) {
super(context, attrs);
//初始化画笔
mPaint=new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.parseColor("#ffffffff"));
mPaint.setStyle(Style.FILL);
}
protected void dispatchDraw(Canvas canvas){
canvas.save();
canvas.translate(mInitTranslationX+ mTranslationX, getHeight());
canvas.drawPath(mPath, mPaint);
canvas.restore();
super.dispatchDraw(canvas);
}
@Override
protected void onSizeChanged(int w,int h,int oldw,int oldh){
super.onSizeChanged(w, h, oldw, oldh);
mTriangleWidth=(int)( w/3*RADIO);
mInitTranslationX=w/3/2-mTriangleWidth/2;
initTriangle();
}
//初始化三角形
private void initTriangle() {
mPath=new Path();
mTriangleHeight=mTriangleWidth/2;
mPath.moveTo(0, 0);//应该是相对坐标
mPath.lineTo(mTriangleWidth, 0);
mPath.lineTo(mTriangleWidth/2,-mTriangleHeight);
mPath.close();
}
}