res\layout\main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />

 <com.powenko.Tutorial_UI_Cumtom_ShapeDrawable.CustomDrawableView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

</LinearLayout>

CustomDrawableView.java

package com.powenko.Tutorial_UI_Cumtom_ShapeDrawable;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
import android.util.AttributeSet;
import android.view.View;

public class CustomDrawableView extends View {
    private ShapeDrawable mDrawable;

    public CustomDrawableView(Context context, AttributeSet attrs) {
        super(context, attrs);
        /*
        this.CustomDrawableView(context);
    }

    public CustomDrawableView(Context context) {
        super(context);
*/
        int x = 10;
        int y = 10;
        int width = 300;
        int height = 50;

        mDrawable = new ShapeDrawable(new OvalShape());
        mDrawable.getPaint().setColor(0xff4badeb);
        mDrawable.setBounds(x, y, x + width, y + height);

   		Paint paint = new Paint();

    }

    protected void onDraw(Canvas canvas) {
    	if(mDrawable!=null){
    		mDrawable.draw(canvas);

    		////
    		Paint paint = new Paint();
    		paint.setColor(Color.WHITE);
    		paint.setTextSize(20);
    		canvas.drawText("PowenKo.com", 100, 50, paint);

        }
    }
}

sample code:

Tutorial_UI_Cumtom_ShapeDrawable

By admin-powenko

Dr. Powen Ko is a teacher and CEO on LoopTek LLC, and like to teaching. if you need to class, please let PowenKo know, he will love to service and sharing. LoopTek web site is www.looptek.com

Leave a Reply