More on the example of custom widget view - Blog Android

Saturday, 20 August 2011

More on the example of custom widget view

Modify onDraw() of MyWidgetView.java on last exercise to add more funny text on the custom widget view.



More on the example of custom widget view



package com.exercise.AndroidWidgetView;



import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Path;

import android.graphics.RectF;

import android.util.AttributeSet;

import android.view.View;



public class MyWidgetView extends View {



final int MIN_WIDTH = 300;

final int MIN_HEIGHT = 150;

final int DEFAULT_COLOR = Color.WHITE;

int _color;



final int STROKE_WIDTH = 2;



public MyWidgetView(Context context) {

super(context);

// TODO Auto-generated constructor stub

init();

}



public MyWidgetView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

init();

}



public MyWidgetView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

// TODO Auto-generated constructor stub

init();

}



private void init(){

setMinimumWidth(MIN_WIDTH);

setMinimumHeight(MIN_HEIGHT);

_color = DEFAULT_COLOR;

}



@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

// TODO Auto-generated method stub

super.onMeasure(getSuggestedMinimumWidth(), getSuggestedMinimumHeight());

}



@Override

protected void onDraw(Canvas canvas) {

// TODO Auto-generated method stub



Paint paint = new Paint();

paint.setColor(_color);

paint.setStrokeWidth(STROKE_WIDTH);

canvas.drawRect(5, 5, getWidth()-5, getHeight()-5, paint);



Path path;

path = new Path();

paint.setColor(Color.GRAY);

paint.setTextSize(25);

path.addArc(new RectF(25, 25, getWidth()-25, getHeight()-25), 180, 90);

canvas.drawTextOnPath("Hello", path, 0, 0, paint);

path = new Path();

path.addArc(new RectF(25, 25, getWidth()-25, getHeight()-25), 0, 90);

canvas.drawTextOnPath("Android-er", path, 0, 0, paint);

}



public void setColor(int color){

_color = color;

}



}






Borneo08

About Borneo08

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :

More links

Related Posts Plugin for WordPress, Blogger...