TextActivity.java revision b146b1214ef6e4fc75d98779b22434335764cfdb
1/* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.test.hwui; 18 19import android.app.Activity; 20import android.content.Context; 21import android.graphics.Canvas; 22import android.graphics.Paint; 23import android.os.Bundle; 24import android.view.View; 25 26@SuppressWarnings({"UnusedDeclaration"}) 27public class TextActivity extends Activity { 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 32 setContentView(new CustomTextView(this)); 33 } 34 35 static class CustomTextView extends View { 36 private final Paint mMediumPaint; 37 private final Paint mLargePaint; 38 private final Paint mStrikePaint; 39 private final Paint mScaledPaint; 40 41 CustomTextView(Context c) { 42 super(c); 43 44 mMediumPaint = new Paint(); 45 mMediumPaint.setAntiAlias(true); 46 mMediumPaint.setColor(0xffff0000); 47 48 mLargePaint = new Paint(); 49 mLargePaint.setAntiAlias(true); 50 mLargePaint.setTextSize(36.0f); 51 52 mStrikePaint = new Paint(); 53 mStrikePaint.setAntiAlias(true); 54 mStrikePaint.setTextSize(16.0f); 55 mStrikePaint.setUnderlineText(true); 56 57 mScaledPaint = new Paint(); 58 mScaledPaint.setAntiAlias(true); 59 mScaledPaint.setTextSize(16.0f); 60 } 61 62 @Override 63 protected void onDraw(Canvas canvas) { 64 super.onDraw(canvas); 65 canvas.drawRGB(255, 255, 255); 66 67 canvas.drawText("Hello OpenGL renderer!", 100, 20, mMediumPaint); 68 mMediumPaint.setTextAlign(Paint.Align.CENTER); 69 canvas.drawText("Hello OpenGL renderer!", 100, 40, mMediumPaint); 70 mMediumPaint.setTextAlign(Paint.Align.RIGHT); 71 canvas.drawText("Hello OpenGL renderer!", 100, 60, mMediumPaint); 72 mMediumPaint.setTextAlign(Paint.Align.LEFT); 73 canvas.drawText("Hello OpenGL renderer!", 100, 100, mMediumPaint); 74 mMediumPaint.setShadowLayer(2.5f, 0.0f, 0.0f, 0xff000000); 75 canvas.drawText("Hello OpenGL renderer!", 100, 150, mMediumPaint); 76 mMediumPaint.clearShadowLayer(); 77 canvas.drawText("Hello OpenGL renderer!", 100, 200, mLargePaint); 78 79 mLargePaint.setShadowLayer(2.5f, 3.0f, 3.0f, 0xff000000); 80 canvas.drawText("Hello OpenGL renderer!", 100, 400, mLargePaint); 81 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xff00ff00); 82 mLargePaint.setAlpha(100); 83 canvas.drawText("Hello OpenGL renderer!", 100, 500, mLargePaint); 84 mLargePaint.setAlpha(255); 85 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0xd000ff00); 86 mLargePaint.setColor(0x00ffff00); 87 canvas.drawText("Hello OpenGL renderer!", 100, 600, mLargePaint); 88 mLargePaint.setShadowLayer(3.0f, 3.0f, 3.0f, 0x80000000); 89 mLargePaint.setColor(0x4dffffff); 90 canvas.drawText("Hello OpenGL renderer!", 100, 650, mLargePaint); 91 mLargePaint.setAlpha(255); 92 mLargePaint.setColor(0xff000000); 93 mLargePaint.clearShadowLayer(); 94 95 canvas.drawText("Hello OpenGL renderer!", 500, 40, mStrikePaint); 96 mStrikePaint.setStrikeThruText(true); 97 canvas.drawText("Hello OpenGL renderer!", 500, 70, mStrikePaint); 98 mStrikePaint.setUnderlineText(false); 99 canvas.drawText("Hello OpenGL renderer!", 500, 100, mStrikePaint); 100 mStrikePaint.setStrikeThruText(false); 101 mStrikePaint.setUnderlineText(true); 102 103 mScaledPaint.setTextScaleX(0.5f); 104 canvas.drawText("Hello OpenGL renderer!", 500, 200, mScaledPaint); 105 mScaledPaint.setTextScaleX(2.0f); 106 canvas.drawText("Hello OpenGL renderer!", 500, 230, mScaledPaint); 107 mScaledPaint.setTextScaleX(1.0f); 108 canvas.drawText("Hello OpenGL renderer!", 500, 260, mScaledPaint); 109 110 canvas.save(); 111 canvas.clipRect(150.0f, 220.0f, 450.0f, 320.0f); 112 canvas.drawText("Hello OpenGL renderer!", 100, 300, mLargePaint); 113 canvas.restore(); 114 } 115 } 116}