1
나는 경로와 구현 된 경로를 따르는 객체를 가지고 있습니다. 움직이는 물체가 통과 한 경로의 다른 색을 그려주는 법. 여기애니메이션 경로 (안드로이드)에 페인트 변경
이미지에 대한 링크는 (어쩌면 내가 무슨 뜻인지 잘 설명) : 당신의 도움 :) 여기
나는 경로와 구현 된 경로를 따르는 객체를 가지고 있습니다. 움직이는 물체가 통과 한 경로의 다른 색을 그려주는 법. 여기애니메이션 경로 (안드로이드)에 페인트 변경
이미지에 대한 링크는 (어쩌면 내가 무슨 뜻인지 잘 설명) : 당신의 도움 :) 여기
들으 그것이
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
간단한 패스와 페인트 선언 및 초기화에 대한 코드가 필요하면 질문에 답하십시오. "DashPathEffect를보아야합니다."와 같은 힌트가 필요합니다. 다음에 더 잘 할 수있을 것이라고 확신합니다. :) – Crodel