ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


[Source] Åõ¸íÀ©µµ¿ì
8³â Àü
package co.kr.codein;

import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
import android.view.MotionEvent;
import android.view.ViewGroup;
import android.view.SurfaceView;
import android.view.SurfaceHolder;
import android.view.Window;
import android.widget.AbsoluteLayout;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.PixelFormat;

public class SurfaceViewTest extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);        
        getWindow().setFormat(PixelFormat.TRANSPARENT);
        
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(new MySurfaceView(this));
        addContentView(new SampleView(this), new ViewGroup.LayoutParams(-1, -1));
    }
    
    public class SampleView extends AbsoluteLayout {
     private DisplayObject mKirby;
    
     public SampleView(Context context) {
      super(context);
      
      mKirby = new DisplayObject(context);
      this.addView(mKirby);
      
      Bitmap bmp = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.kirby_t);
      mKirby.setBitmap(bmp);
      mKirby.move((320 - mKirby.getImageWidth())/2, (240 - mKirby.getImageHeight())/2);
     }
          
     @Override
     public void onDraw(Canvas canvas) {
      mKirby.draw(canvas);
     }
    
     @Override
     public boolean onMotionEvent(MotionEvent event) {      
      switch( event.getAction() ) {
      case MotionEvent.ACTION_DOWN:
      case MotionEvent.ACTION_MOVE:
       int x = (int)(event.getX() - mKirby.getImageWidth()/2);
       int y = (int)(event.getY() - mKirby.getImageHeight()/2);
       mKirby.move(x, y);      
       return true;
      }
      return true;
     }
    }
    
    public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {
     private SurfaceHolder mHolder;
    
     public MySurfaceView(Context context) {
      super(context);
      
      mHolder = getHolder();
      mHolder.setCallback(this);
     }
    
     public boolean surfaceCreated(SurfaceHolder holder) {
      return true;
     }
    
     public void surfaceDestroyed(SurfaceHolder holder) {
     }
    
     public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
     }
    }
}

Ãâó: http://d.hatena.ne.jp/s_welt/20071226/1198686535
À¯Æ©ºê µ¿¿µ»ó: http://www.screencast.com/users/tanakaman/folders/Jing/media/518c4ce2-9c6a-4beb-972e-8c1ba823627c
ÃßõÃßõ : 246 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
37
[°³¹ß Tip] WebView¿¡¼­ ¸ÖƼ ÅÍÄ¡ ÁÜ °¡´ÉÇÏ°Ô Çϱâ
36
[°³¹ß Tip] WebView¿¡¼­ ¹®ÀÚ¿­ ¼±ÅÃÇϱâ
35
[°³¹ß Tip] webview¿¡¼­ À¯Æ©ºê µ¿ÀÛ½ÃÅ°±â
34
[°³¹ß Tip] Wifi ¿¬°á »óÅ °¨ÁöÇϱâ
33
[°³¹ß Tip] ³»ÀåµÈ ¾îÇ÷ΠSMS ¸Þ½ÃÁö º¸³»±â
32
[°³¹ß Tip] ´Ü¸»±â Æù¹øÈ£ ¾Ë¾Æ³»±â
31
[°³¹ß Tip] ¸®¼Ò½º¸íÀ¸·Î ÇØ´ç ¸®¼Ò½º ID ±¸Çϱâ
30
[°³¹ß Tip] ¸ÖƼÅÍÄ¡ (Multi Touch) ±¸Çö ¼Ò½º
29
[°³¹ß Tip] ºÎÆýà ¼­ºñ½º ½ÇÇàÇϱâ
28
[°³¹ß Tip] ¾Èµå·ÎÀÌµå ±â±âº° °íÀ¯ ID
27
[°³¹ß Tip] ¾ÈÅ׳ª ¿µ¿ª ¾ø¾Ö±â
26
[°³¹ß Tip] ¾×Ƽ¹öƼ(Activity)¿¡¼­ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°úÁÖ±â
25
[°³¹ß Tip] ¾×Ƽ¹öƼÀÇ Å¸ÀÌƲ¹Ù Á¦°Å, ¾ÈÅ׳ª ¿µ¿ª±îÁö Á¦°Å
24
[°³¹ß Tip] ¿Àµð¿À / ºñµð¿À ½ÇÇà
23
[°³¹ß Tip] ÀüÈ­°¡ ¿ÔÀ»¶§ À̺¥Æ® ¼ö½ÅÇϱâ
22
[°³¹ß Tip] ÆÄÀÏ(File) »ç¿ë
21
[°³¹ß Tip] Æù ¸¶ÀÌÅ©¿¡ ³ìÀ½Çϱâ
20
[°³¹ß Tip] ÇØ´ç ActionÀ» ¼öÇàÇÒ¼ö°¡ ÀÖ´Â ¾×Ƽ¹öƼ(¾îÇÃ)ÀÌ Á¸ÀçÇÏ´ÂÁö ã±â
19
[°³¹ß Tip] ÇöÀç µð¹ÙÀ̽º(Æù)ÀÇ IP ÁÖ¼Ò ¾Ë¾Æ³»±â
18
[°³¹ß Tip] XmlPullParser¸¦ ÀÌ¿ëÇؼ­ rss³» title Ç׸ñ Àбâ
17
[°³¹ß Tip] ÇöÀç ¿¬ÁÖÁßÀÎ ¿Àµð¿À ¾îÇÃÀ» À½¼Ò°Å Çϱâ
16
[°³¹ß Tip] È­¸é »ó´ÜÀÇ Å¸ÀÌƲ¹Ù (»óŹ٠°¨Ãß±â)
[Source] Åõ¸íÀ©µµ¿ì
14
[Source] WebView¸¦ ÀÌ¿ëÇؼ­, ÀÌÀü À¥ÆäÀÌÁö·Î À̵¿
13
[Source] ŸÀÌƲ¹ÙÀÇ ±ÛÀÚ»ö º¯°æ
12
[Source] Splash Screen
11
[Source] À̹ÌÁöÆÄÀÏ ´Ù¿î·Îµå
10
[Source] URLÀ» ÅëÇÑ À̹ÌÁö µå·ÎÀ×
9
[Source] PopupWindow »ç¿ë¿¹
8
[Source] WebView »ç¿ë¿¹ (loadUrl, loadData)
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.