drawable(1、canvas)

3313 ワード

Androidではdrawableは抽象的な描画オブジェクトです.たとえば、AndroidエンジニアリングのDrawableフォルダに画像ファイルをインポートすると、Android SDKはこのファイルにDrawableオブジェクトを生成します.このオブジェクトにはR.drawableでアクセスでき、通常はResourceを呼び出す.getDrawable(int id)方式で直接取得します.
canvasはキャンバスで、この概念は他のSDK、HTML 5の定義と差がなく、直接例を見ます.
public class MyView extends View {

    

    private Paint paint;

    

    public MyView(Context context) {

        super(context);

        paint = new Paint(); //     

        paint.setColor(Color.BLUE);

        paint.setStrokeWidth(1);

    }



    @Override

    protected void onDraw(Canvas canvas) {

        this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);// android 4       ,  drawTextOnPath  

        

        canvas.drawColor(Color.YELLOW);//    

        canvas.drawCircle(100, 100, 90, paint);//      ,       、   ;

        

        Path path = new Path(); //         

        path.moveTo(10, 10); //      10,10   

        path.lineTo(50, 60);   

        path.lineTo(200,80);   

        path.lineTo(10, 10); //    

        

        paint.setColor(Color.BLACK);

        paint.setTextSize(20);

        canvas.drawPath(path, paint);

        canvas.drawTextOnPath("hello world,fredric", path, 10, 10, paint);//          

    }

}

このviewはactivityで次のように設定されます.
public class MainActivity extends Activity {



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

        setContentView(new GrayView(this));

        

    }