为了账号安全,请及时绑定邮箱和手机立即绑定

我的代码 是这样 但是就是不出三角形 三角形设置为红色了也不出

package view;


import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.CornerPathEffect;

import android.graphics.Paint;

import android.graphics.Paint.Style;

import android.graphics.Path;

import android.util.AttributeSet;

import android.widget.LinearLayout;


public class NewPagerView extends LinearLayout {

private int sanJiaoWidth;

private int sanJiaoHight;

private Paint paint;

private static final float WIDTH_HIGHT=1/6F;

private Path path;

private int initTransX;

private int transX;

public NewPagerView(Context context) {

this(context,null);

}


public NewPagerView(Context context, AttributeSet attrs) {

super(context, attrs);

paint=new Paint();

paint.setAntiAlias(true);

paint.setDither(true);

paint.setColor(Color.RED);

paint.setStyle(Style.FILL);

paint.setPathEffect(new CornerPathEffect(3));

}

@Override

protected void dispatchDraw(Canvas canvas) {

// TODO Auto-generated method stub

canvas.save();

canvas.translate(initTransX+transX, sanJiaoHight+2);

canvas.drawPath(path, paint);

canvas.restore();

super.dispatchDraw(canvas);

}

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

// TODO Auto-generated method stub

super.onSizeChanged(w, h, oldw, oldh);

sanJiaoWidth=(int) (w/3*WIDTH_HIGHT);

initTransX=w/3/2-sanJiaoWidth/2;

initTrans();

}


private void initTrans() {

// TODO Auto-generated method stub

sanJiaoHight=2/5*sanJiaoWidth;

path=new Path();

path.moveTo(0, 0);

path.lineTo(sanJiaoWidth, 0);

path.lineTo(sanJiaoWidth/2, -sanJiaoHight);

path.close();

}


}


正在回答

1 回答

package view;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.CornerPathEffect;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.util.AttributeSet;
import android.widget.LinearLayout;

public class NewPagerView extends LinearLayout {
	
	private int sanJiaoWidth;
	private int sanJiaoHight;
	private Paint paint;
	private static final float WIDTH_HIGHT=1/6F;
	private Path path;
	private int initTransX;
	private int transX;
	
	public NewPagerView(Context context) {
		this(context,null);
	}

	public NewPagerView(Context context, AttributeSet attrs) {
		super(context, attrs);
		paint=new Paint();
		paint.setAntiAlias(true);
		paint.setDither(true);
		
		paint.setColor(Color.RED);
		paint.setStyle(Style.FILL);
		paint.setPathEffect(new CornerPathEffect(3));
	}
	@Override
	protected void dispatchDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		canvas.save();
		canvas.translate(initTransX+transX, sanJiaoHight+2);
		canvas.drawPath(path, paint);
		System.out.println("initTransX="+initTransX);
		System.out.println("yanse="+paint.getColor());
		canvas.restore();
		super.dispatchDraw(canvas);
	}
	@Override
	protected void onSizeChanged(int w, int h, int oldw, int oldh) {
		// TODO Auto-generated method stub
		super.onSizeChanged(w, h, oldw, oldh);
		
		sanJiaoWidth=(int) (w/3*WIDTH_HIGHT);
		initTransX=w/3/2-sanJiaoWidth/2;
		System.out.println("initTransX="+initTransX);
		initTrans();
	}

	private void initTrans() {
		// TODO Auto-generated method stub
		sanJiaoHight=2/5*sanJiaoWidth;
		path=new Path();
		path.moveTo(0, 0);
		path.lineTo(sanJiaoWidth, 0);
		System.out.println("sanJiaoWidth="+sanJiaoWidth);
		path.lineTo(sanJiaoWidth/2, -sanJiaoHight);
		path.close();
	}

	public void scroll(int arg0, float arg1) {
		// TODO Auto-generated method stub
		int width=getWidth()/3;
		transX=(int) (width*(arg0+arg1));
		System.out.println("transX="+transX);
		invalidate();
	}
	

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-自定义ViewPager指示器
  • 参与学习       30028    人
  • 解答问题       75    个

带领大家实现最火爆的跟随型指示器,学完保准压倒一片

进入课程

我的代码 是这样 但是就是不出三角形 三角形设置为红色了也不出

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信