Android的SurfaceView测试代码
2016-06-07 18:19
537 查看
import android.app.Activity; import android.content.Context; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.RectF; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.Window; import android.view.SurfaceHolder.Callback; public class MainActivity extends Activity { int[] rs ={R.drawable.test, R.drawable.test1}; protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SurfaceView surface = (SurfaceView)findViewById(R.id.surface); surface.setKeepScreenOn(true); final SurfaceHolder holder = surface.getHolder(); final Context ct = this.getBaseContext(); final Thread mythread = new Thread(new Runnable(){ int i = 0; @Override public void run() { try { while(true){ i++;//两张图片交替显示 Bitmap bmp = BitmapFactory.decodeResource(ct.getResources(), rs[i%2]); Canvas canvas = holder.lockCanvas(); canvas.drawColor(Color.WHITE); RectF rectf = new RectF(0, 0, 200, 200); canvas.drawBitmap(bmp, null, rectf, null); holder.unlockCanvasAndPost(canvas); Thread.sleep(1000); } } catch (InterruptedException e) { e.printStackTrace(); } } }); holder.addCallback(new Callback() { @Override public void surfaceDestroyed(SurfaceHolder holder) { } @Override public void surfaceCreated(SurfaceHolder holder) { mythread.start(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } }); } }
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <SurfaceView android:id="@+id/surface" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
相关文章推荐
- Android内核解读-应用的安装过程
- android bitmap的放大缩小
- android5.0 按键调节音量详解
- Android 编程下 shape 绘制图形
- Android Design Support Library(一):FloatingActionButton、TextInputLayout、TextInputEditText简单用法
- 搞了将近一个月的AS400,现在又转回Android~
- [android]中getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用,getfilesdir
- Android Arm Inline Hook
- android背景选择器selector用法汇总
- SAP SMP SDK 3.0 SP9支持Android OS 什么版本
- 第一个NDK工程--hello ndk
- 【Android基础知识】选项菜单、上下文菜单、子菜单的使用
- Android路上踩到的坑ing
- MathchVS 文档中心 > 对战引擎 > u3d/android > 接入文档
- AndroidStudio配置及SVN使用代码管理
- Android开源框架——依赖注入ButterKnife
- Android修改EditText光标的颜色
- android按钮状态选择器
- android activity中 Task日常中使用
- Android 基础总结:( 十九)Permission详解(下)