ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
280 บทที่ 11 เทคนิคขั้นสูงสำาหรับพัฒนาแอพบนแอนดรอยด์<br />
}<br />
mPaint.setStyle(Paint.Style.STROKE);<br />
mShader = new SweepGradient(this.getMeasuredWidth()/2,<br />
this.getMeasuredHeight()/2,<br />
new int[] { Color.GREEN,<br />
Color.RED,<br />
Color.CYAN,Color.DKGRAY },<br />
null);<br />
mPaint.setShader(mShader);<br />
public void setText(String text) {<br />
mText = text;<br />
requestLayout();<br />
invalidate();<br />
}<br />
public void setTextSize(int size) {<br />
mTextPaint.setTextSize(size);<br />
requestLayout();<br />
invalidate();<br />
}<br />
public void setTextColor(int color) {<br />
mTextPaint.setColor(color);<br />
invalidate();<br />
}<br />
@Override<br />
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){<br />
setMeasuredDimension(measureWidth(widthMeasureSpec),<br />
measureHeight(heightMeasureSpec));<br />
}<br />
private int measureWidth(int measureSpec) {<br />
int result = 0;<br />
int specMode = MeasureSpec.getMode(measureSpec);<br />
int specSize = MeasureSpec.getSize(measureSpec);<br />
if (specMode == MeasureSpec.EXACTLY) {<br />
// We were told how big to be<br />
result = specSize;<br />
} else {<br />
// Measure the text<br />
result = (int) mTextPaint.measureText(mText)<br />
+ getPaddingLeft()<br />
+ getPaddingRight();<br />
if (specMode == MeasureSpec.AT_MOST) {<br />
result = Math.min(result, specSize);<br />
}