為什么我按視頻寫的程序,并沒有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;//三角形的初始偏移位置,及第一次出現(xiàn)的X坐標
private int mTranslationX=0;//隨著手指滑動,三角形會移動,該數(shù)據(jù)表示移動
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();
}
}
2018-08-11
我是沒加f所以沒顯示出來
2016-10-03
沒有上下文,接受一下上下文就好了
2016-07-03