android surfaceView参考
16lz
2022-03-31
layout下main.xml文件
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"> <testView.moandroid.testView android:id="@+id/testView" android:layout_width="fill_parent" android:layout_height="fill_parent" tileSize="12"/></FrameLayout>继承view的testView
package testView.moandroid;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.Typeface;import android.graphics.Bitmap.Config;import android.util.AttributeSet;import android.view.View;public class testView extends View {private Bitmap mbmpTest=null;private final Paint mPaint = new Paint();private final String mstrTitle="感受Android带给我们的新体验";public testView(Context context, AttributeSet attrs, int defStyle){ super(context, attrs, defStyle); mPaint.setColor(Color.GREEN);} public testView(Context context, AttributeSet attrs) { super(context, attrs); mPaint.setColor(Color.GREEN); } public boolean initBitmap(int w,int h,int c){mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888);Canvas canvas = new Canvas(mbmpTest); canvas.drawColor(Color.WHITE);Paint p = new Paint();String familyName = "宋体";Typeface font = Typeface.create(familyName,Typeface.BOLD);p.setColor(Color.RED);p.setTypeface(font);p.setTextSize(22); canvas.drawText(mstrTitle,0,100,p);return true;}@Override public void onDraw(Canvas canvas) { super.onDraw(canvas); /*if(mbmpTest!=null) { Rect rtSource = new Rect(0,0,320,240); Rect rtDst = new Rect(0,0,320,240); canvas.drawBitmap(mbmpTest, rtSource,rtDst, mPaint); }*/ if(mbmpTest!=null) { Matrix matrix = new Matrix(); //matrix.postScale(0.5f, 0.5f); matrix.setRotate(90,120,120); canvas.drawBitmap(mbmpTest, matrix, mPaint); } }}activity文件testActivity
package testView.moandroid;import android.app.Activity;import android.os.Bundle;public class testActivity extends Activity {private testView mTestview; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTestview = (testView) findViewById(R.id.testView); mTestview.initBitmap(320,240,0xcccccc); }}
效果图
更多相关文章
- Android追加写入文件的几种方法
- Android(安卓)intent跳转工具类
- 【Android】创建Popwindow弹出菜单的两种方式
- android java 文件的读写
- TextView 在xml文件中的解释
- Android(安卓)TextView文字旋转45°
- Android往SD卡上存储文件
- Android的SeekBar自定义样式
- NPM 和webpack 的基础使用