Package gongzi. co. cc;
Import android. app. Activity;
Import android. graphics. Canvas;
Import android. graphics. Color;
Import android. graphics. Paint;
Import android. OS. Bundle;
Import android. view. SurfaceView;
Import android. view. View;
Import android. view. View. OnClickListener;
Public class SurfaceActivity extends
Activity {
/** Called when the activity is first created .*/
@ Override
Public void onCreate (
Bundle savedInstanceState ){
Super. onCreate (savedInstanceState );
SetContentView (R. layout. main );
Final SurfaceView surfaceView = (SurfaceView)
FindViewById (R. id. surfaceView1 );
// SurfaceView. setClickable (true );
SurfaceView
. SetOnClickListener (new
OnClickListener (){
@ Override
Public void onClick (
View v ){
// TODO Auto-generated
Method stub
// SurfaceView surfaceView
= (SurfaceView) v;
Canvas canvas =
SurfaceView
. GetHolder ()
. LockCanvas ();
Paint paint = new
Paint ();
Paint. setColor
(Color. BLUE );
Paint. setAntiAlias
(True );
Paint. setTextSize (24 );
Canvas. drawText (
"Loveyou ",
0,100,
Paint );
SurfaceView
. GetHolder ()
. UnlockCanvasAndPost (
Canvas );
}
});
}
}
--------------- 2: main
Package gongzi. co. cc;
Import android. app. Activity;
Import android. OS. Bundle;
Public class SurfaceActivity extends
Activity {
@ Override
Protected void onCreate (
Bundle savedInstanceState ){
// TODO Auto-generated method stub
Super. onCreate (savedInstanceState );
SetContentView (new Click (this ));
}
}
----------- SurfaceActivity. java
Package gongzi. co. cc;
Import android. app. Activity;
Import android. content. Context;
Import android. graphics. Canvas;
Import android. graphics. Color;
Import android. graphics. Paint;
Import android. view. SurfaceHolder;
Import android. view. SurfaceView;
Public class Click extends SurfaceView
Implements
SurfaceHolder. Callback {
Public Click (Context context ){
Super (context );
// TODO Auto-generated constructor stub
GetHolder (). addCallback (this );
}
@ 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
Canvas canvas = holder
. LockCanvas ();
Paint paint = new Paint ();
Paint. setColor (Color. BLUE );
Paint. setAntiAlias (true );
Paint. setTextSize (26 );
Canvas. drawText (
"Love you gogogogogoigogoi ",
100,100, paint );
Holder. unlockCanvasAndPost (canvas );
}
@ Override
Public void surfaceDestroyed (
SurfaceHolder holder ){
// TODO Auto-generated method stub
}
}
------------ Picture and trackball
Package gongzi. co. cc;
Import android. content. Context;
Import android. graphics. Bitmap;
Import android. graphics. BitmapFactory;
Import android. graphics. Canvas;
Import android. view. MotionEvent;
Import android. view. SurfaceView;
Public class Click extends SurfaceView {
Float left;
Float top;
Bitmap mBitmap = BitmapFactory
. DecodeResource (
GetContext ()
. GetResources
(),
R. drawable. ic_launcher );
Public Click (Context context ){
Super (context );
// TODO Auto-generated constructor stub
}
@ Override
Public boolean onTouchEvent (
MotionEvent event ){
// TODO Auto-generated method stub
Left = event. getX ();
Top = event. getY ();
DoDraw ();
Return super
. OnTouchEvent (event );
}
@ Override
Public boolean onTrackballEvent (
MotionEvent event ){
// TODO Auto-generated method stub
Left = event. getX ();
Top = event. getY ();
DoDraw ();
Return super
. OnTrackballEvent (event );
}
Private void doDraw (){
// TODO Auto-generated method stub
Canvas canvas = getHolder ()
. LockCanvas ();
Canvas. drawBitmap (mBitmap,
Left, top, null );
GetHolder ()
. UnlockCanvasAndPost (
Canvas );
}
}
------------------- Translucent Desktop
Package gongzi. co. cc;
Import android. app. Activity;
Import android. content. Context;
Import android. graphics. Bitmap;
Import android. graphics. BitmapFactory;
Import android. graphics. Canvas;
Import android. graphics. Color;
Import android. graphics. Paint;
Import android. graphics. PixelFormat;
Import android. view. MotionEvent;
Import android. view. SurfaceHolder;
Import android. view. SurfaceView;
Public class Click extends SurfaceView
Implements
SurfaceHolder. Callback {
Float left;
Float top;
Bitmap mBitmap = BitmapFactory
. DecodeResource (
GetContext ()
. GetResources
(),
R. drawable. ic_launcher );
Public Click (Context context ){
Super (context );
// TODO Auto-generated constructor stub
GetHolder ()
. SetFormat (
PixelFormat. TRANSLUCENT );
GetHolder (). addCallback (this );
}
@ 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 ();
}
@ Override
Public void surfaceDestroyed (
SurfaceHolder holder ){
// TODO Auto-generated method stub
}
@ Override
Public boolean onTouchEvent (
MotionEvent event ){
// TODO Auto-generated method stub
Left = event. getX ();
Top = event. getY ();
DoDraw ();
Return super
. OnTouchEvent (event );
}
Void doDraw (){
// TODO Auto-generated method stub
Canvas canvas = getHolder ()
. LockCanvas ();
Canvas. drawBitmap (mBitmap,
Left, top, null );
GetHolder ()
. UnlockCanvasAndPost (
Canvas );
}
}
--------- Manifest. xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<Manifest xmlns: android = "http://schemas.android.com/apk/res/android"
Package = "gongzi. co. cc"
Android: versionCode = "1"
Android: versionName = "1.0" type = "codeph" text = "/codeph">
<Uses-sdk android: minSdkVersion = "8"/>
<Application
Android: icon = "@ drawable/ic_launcher"
Android: label = "@ string/app_name">
<Activity
Android: label = "@ string/app_name"
Android: name = ". SurfaceActivity"
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>
By gongzibai