Android SurfaceView 透明和半透明
- [color=#ff0000][size=18px]透明//Transparent
- 半透明//Translucent[/size][/color]

- package rw.Trans;
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.PixelFormat;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.SurfaceHolder;
- import android.view.SurfaceHolder.Callback;
- import android.view.SurfaceView;
- public class TransParentActivity extends Activity {
- /** Called when the activity is first created. */
- class MySurfaceView extends SurfaceView implements Callback{
- float left,top;
- Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.reen);
- public MySurfaceView(Context context) {
- super(context);
- // TODO Auto-generated constructor stub
- [color=#ff0000]getHolder().setFormat(PixelFormat.TRANSPARENT);//设置为透明
- //getHolder().setFormat(PixelFormat.TRANSLUCENT);//半透明[/color]
- getHolder().addCallback(this);
- setFocusable(true);
- }
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width,
- int height) {
- // TODO Auto-generated method stub
-
- }
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- // TODO Auto-generated method stub
- doDraw();
- }
- private void doDraw() {
- // TODO Auto-generated method stub
- Canvas canvas=getHolder().lockCanvas();
- canvas.drawBitmap(bitmap, left, top, null);
- getHolder().unlockCanvasAndPost(canvas);
- }
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see android.app.Activity#onTouchEvent(android.view.MotionEvent)
- */
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // TODO Auto-generated method stub
- left=event.getX();
- top=event.getY();
- doDraw();
-
- return super.onTouchEvent(event);
- }
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(new MySurfaceView(getApplicationContext()));
-
- }
-
- }
AndroidManifest.xml
- http://schemas.android.com/apk/res/android"
- package="rw.Trans"
- android:versionCode="1"
- android:versionName="1.0">
-
-
- <activity android:name=".TransParentActivity"
- android:label="Transparent SurfaceView"
- [color=#ff0000] android:theme="@android:style/Theme.Translucent"
- [/color] >
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!