SurfaceView 透明和半透明

  1. 透明//Transparent
  2. 半透明//Translucent

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
            <span style="color:#ff0000;">getHolder().setFormat(PixelFormat.TRANSPARENT);//设置为透明
            //getHolder().setFormat(PixelFormat.TRANSLUCENT);//半透明
            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

<?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" />     <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".TransParentActivity"
                  android:label="Transparent SurfaceView"
                 android:theme="@android:style/Theme.Translucent"
                  >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>     </application>
</manifest>   
时间: 2024-10-10 12:45:35

SurfaceView 透明和半透明的相关文章

Android设置透明、半透明等效果

设置透明效果 大概有三种 1.用android系统的透明效果 Java代码 android:background="@android:color/transparent" 例如 设置按钮 Java代码 <Button android:background="@android:color/transparent" android:text="@+id/Button01" android:id="@+id/Button01"

Android 设置按钮背景透明与半透明_图片背景透明

Button或者ImageButton的背景设为透明或者半透明 半透明<Button android:background="#e0000000" ... />  透明<Button android:background="#00000000" ... /> 颜 色和不透明度 (alpha) 值以十六进制表示法表示.任何一种颜色的值范围都是 0 到 255(00 到 ff).对于 alpha,00 表示完全透明,ff 表示完全不透明.表达式顺

透明度--设置透明、半透明等效果

设置透明效果 大概有三种. 1.用android系统的透明效果: android:background="@android:color/transparent" 例如 设置按钮 <Button android:background="@android:color/transparent" android:textColor="#ffffff" /> 2.用ARGB来控制 半透明<Button android:background

关于android中透明、半透明、百分比转换

在xml文件中,可以直接写#0000,这个是全透明的效果.#9000这个值相当于56%的样子,因为颜色值是16进制的,#9000相当于(9/16)而百分比的话,大家可以按照这个比例来换算全透明 #000010%透明 #1600 20%透明 #320030%透明 #480040%透明 #640050%透明 #800060%透明 #960070%透明 #B20080%透明 #C80090%透明 #E400不透明(黑色) #F000

android 设置Button或者ImageButton的背景透明 半透明 透明

Button或者ImageButton的背景设为透明或者半透明 半透明<Button android:background="#e0000000" ... /> 透明<Button android:background="#00000000" ... /> 颜色和不透明度 (alpha) 值以十六进制表示法表示.任何一种颜色的值范围都是 0 到 255(00 到 ff).对于 alpha,00 表示完全透明,ff 表示完全不透明.表达式顺序是

Activity透明/半透明效果的设置transparent(两种实现方法)

两种方法实现Activity透明/半透明效果的设置,代码思路很有调理,感兴趣的朋友可以参考下,希望本文可以帮助到你 方法一:res/values文件夹下建立styles.xml: 复制代码代码如下: <?xml version=“1.0″ encoding=“utf-8″?>  <style name="translucent"><item name="android:windowBackground">@color/transl

IE6下png背景不透明——张鑫旭博客读书笔记

从今天开始跟着大牛张鑫旭的步伐,每天进步一点点 问题:IE6不支持png背景透明或半透明 一.可解决的方法 补充:css滤镜主要是用来实现图像的各种特殊效果.(了解) css滤镜的标识符是"filter",总体的应用上和其他的css语句相同.css滤镜可分为基本滤镜和高级滤镜两种.css滤镜分类 CSS滤镜 可以直接作用于对象上,并且立即生效的滤镜称为基本滤镜.而要配合JavaScript等脚本语言,能产生更多变幻效果的则称为高级滤镜. 只有IE可以完全的支持滤镜,Firefox支持部

[CSS揭秘]半透明边框

技巧:实现一个半透明的边框 补充说明:博客园的编辑器把内联样式里带-分隔符的CSS属性都删掉了,所以页面效果看不到半透明边框. 预备知识 background-clip background-clip 设置元素背景是否延伸到边框下面,如果没有设置背景颜色或者图片,那么这个属性只有在边框设置为透明或者半透明时才能看到视觉效果.否则这个属性造成的样式变化会被元素边框所覆盖. 默认值为 border-box 没有继承性,也不适用于CSS动画.取值范围 border-box; padding-box;

关于窗体透明的做法

1.在Delphi中,设置窗体的AlphaBlend := true;AlphaBlendValue := 0-255; AlphaBlendValue越小窗体的透明度就越高.这种方法将会使窗体和窗体中控件都变成透明.2.在Delphi中,设置TransparentColor := True与TransparentColorValue := TForm.Color, 则窗体变成透明,控件不透明.3.使用API控制指定区域透明,如下,通过不绘制窗体四角的方法,来使四角变得圆滑透明,可在窗体Resi