天天看點

android surfaceView 背景透明2

<span style="font-size:18px;color:#ff0000;">透明//Transparent  

半透明//Translucent</span>  

android surfaceView 背景透明2

package rw.Trans;  

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   

            <span style="color:#ff0000;">getHolder().setFormat(PixelFormat.TRANSPARENT);//設定為透明   

            //getHolder().setFormat(PixelFormat.TRANSLUCENT);//半透明</span>   

            getHolder().addCallback(this);  

            setFocusable(true);  

        }  

        @Override  

        public void surfaceChanged(SurfaceHolder holder, int format, int width,  

                int height) {  

            // TODO Auto-generated method stub   

        public void surfaceCreated(SurfaceHolder holder) {  

         doDraw();    

        private void doDraw() {  

            Canvas canvas=getHolder().lockCanvas();  

            canvas.drawBitmap(bitmap, left, top, null);  

            getHolder().unlockCanvasAndPost(canvas);  

        public void surfaceDestroyed(SurfaceHolder holder) {  

        /* (non-Javadoc) 

         * @see android.app.Activity#onTouchEvent(android.view.MotionEvent) 

         */  

        public boolean onTouchEvent(MotionEvent event) {  

            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

<p><?xml version="1.0" encoding="utf-8"?>  

<manifest xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"  

      package="rw.Trans"  

      android:versionCode="1"  

      android:versionName="1.0">  

    <uses-sdk android:minSdkVersion="10" /></p><p>    <application android:icon="@drawable/icon" android:label="@string/app_name">  

        <activity android:name=".TransParentActivity"  

                  android:label="Transparent SurfaceView"  

                 <span style="color:#ff0000;"> android:theme="@android:style/Theme.Translucent"  

</span>                  ></p><p>                    

            <intent-filter>  

                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  

            </intent-filter>  

        </activity></p><p>    </application>  

</manifest></p>  

繼續閱讀