在做翻页(page curl)特效时用到了 Path 类,抽时间研究了一下,惊讶地发现此类功能相当强大,在做画图方面应用时常常用到它,现把我学习此类的入门用法写下来,供大家参考: public class PathDemo extends Activity { private static final String TAG = "PathDemo"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.main); setContentView(new SampleView(this)); } public class SampleView extends View { private Path mPath; private Paint mPaint; public SampleView(Context context) { super(context); mPath = new Path(); mPaint = new Paint(); mPath.moveTo(0, 0); //基点 mPath.lineTo(80, 0); mPath.lineTo(80, 80); mPath.lineTo(0, 80); mPath.close(); //将最后一点与基点封闭起来 } @Override protected void onDraw(Canvas canvas) { Paint paint = mPaint; canvas.drawColor(Color.WHITE); paint.setAntiAlias(true); paint.setColor(Color.BLACK); paint.setStyle(Paint.Style.STROKE); int w = canvas.getWidth(); int h = canvas.getHeight(); int cx = w / 2; int cy = h / 2; // 将图形移动到指定点 ,将(0,0)移到视图中间 canvas.translate(cx, cy); // 图形旋转一个角度 // canvas.rotate(270); // 画布上用指定画笔绘出路径 canvas.drawPath(mPath, mPaint); super.onDraw(canvas); } @Override public boolean onTouchEvent(MotionEvent event) { Log.i(TAG, "Jason ------ event ====== x = " + event.getX() + " y = " + event.getY()); return super.onTouchEvent(event); } } }