展会信息港展会大全

SurfaceView 透明Transparent 和半透明Translucent
来源:互联网   发布日期:2015-10-03 15:14:19   浏览:2310次  

导读:透明//Transparent半透明//Translucentimportandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;import......

透明//Transparent

半透明//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>

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港