20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ชุดคำสั่งที่ 11.1 src/com/cookbook/advance/MyButton.java<br />

การสร้างวิวขึ้นเอง (Android Custom View)<br />

279<br />

package com.cookbook.advance.customComponent;<br />

import android.content.Context;<br />

import android.graphics.Canvas;<br />

import android.graphics.Color;<br />

import android.graphics.Matrix;<br />

import android.graphics.Paint;<br />

import android.graphics.RectF;<br />

import android.graphics.Shader;<br />

import android.graphics.SweepGradient;<br />

import android.util.AttributeSet;<br />

import android.util.Log;<br />

import android.widget.Button;<br />

public class MyButton extends Button {<br />

private Paint mTextPaint, mPaint;<br />

private String mText;<br />

private int mAscent;<br />

private Shader mShader;<br />

private Matrix mMatrix = new Matrix();<br />

private float mStart;<br />

private float mSweep;<br />

private float mRotate;<br />

private static final float SWEEP_INC = 2;<br />

private static final float START_INC = 15;<br />

public MyButton(Context context) {<br />

super(context);<br />

initLabelView();<br />

}<br />

public MyButton(Context context, AttributeSet attrs) {<br />

super(context, attrs);<br />

initLabelView();<br />

}<br />

private final void initLabelView() {<br />

mTextPaint = new Paint();<br />

mTextPaint.setAntiAlias(true);<br />

mTextPaint.setTextSize(16);<br />

mTextPaint.setColor(0xFF000000);<br />

setPadding(15, 15, 15, 15);<br />

mPaint = new Paint();<br />

mPaint.setAntiAlias(true);<br />

mPaint.setStrokeWidth(4);<br />

mPaint.setAntiAlias(true);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!