1
我有一個路徑和一個跟隨實現的路徑的對象。如何使移動對象在其路徑上繪製另一種顏色。更改動畫路徑上的顏色(android)
這裏的鏈接圖像(也許它更好地解釋我的意思):moving object on path
THX對您有所幫助:)
我有一個路徑和一個跟隨實現的路徑的對象。如何使移動對象在其路徑上繪製另一種顏色。更改動畫路徑上的顏色(android)
這裏的鏈接圖像(也許它更好地解釋我的意思):moving object on path
THX對您有所幫助:)
下面是一個例子如何可以做到:)
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new SampleView(this));
}
private static class SampleView extends View {
private Paint mPaint,followingPaint;
private Path mPath=new Path();
private PathEffect mEffect;
private float mPhase;
private PathMeasure pm;
private float pmLen;
public SampleView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(10);
followingPaint= new Paint(Paint.ANTI_ALIAS_FLAG);
followingPaint.setStyle(Paint.Style.STROKE);
followingPaint.setStrokeWidth(8);
mPath.moveTo(50, 150);
mPath.quadTo(100,200,150, 150);
mPath.quadTo(200,100,300, 150);
pm=new PathMeasure(mPath,false);
pmLen = pm.getLength();
}
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
mEffect = new DashPathEffect(new float[] {pmLen, pmLen}, mPhase+pmLen);
mPhase -= 4;
invalidate();
followingPaint.setPathEffect(mEffect);
mPaint.setColor(Color.BLACK);
followingPaint.setColor(Color.WHITE);
canvas.drawPath(mPath, mPaint);
canvas.drawPath(mPath, followingPaint);
}
}
}
你的代碼在哪裏?什麼不起作用?等 – 0gravity 2012-08-08 19:52:00
如果你需要簡單的路徑和油漆聲明和初始化的代碼,然後你回答這個問題... 我只需要一個提示,如「你應該看看DashPathEffect」。我相信你會做得更好,下次:) – Crodel 2012-08-09 10:44:56