2012-05-15 1 views
0

Я хочу создать D-PAD-клавиатуру в android. Я вижу конфигурацию пользователя в android. Я не знаю, как его использовать. дать некоторый кодКак создать D-PAD keybord в Android?

+0

Не могли бы вы уточнить, немного, какое приложение, что вы считаете до сих пор и т. д.? –

+0

просто хотят спроектировать D-PAD, где каждая клавиша выполняет различные операции. –

+0

Вы должны будете уточнить, что именно вам нужно, что вы пробовали до сих пор, и где вы застряли. Вопросы низкого качества, как правило, закрываются. –

ответ

5

Не изобретать колесо с нуля снова, JUSE использовать AndEngine:

http://www.andengine.org/blog/2010/07/andengine-on-screen-controls/

и загрузить все необходимое в onLoadScene()

@Override 
     public Scene onLoadScene() { 
       this.mEngine.registerUpdateHandler(new FPSLogger()); 

       final Scene scene = new Scene(); 
       scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f)); 

       final int centerX = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth())/2; 
       final int centerY = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight())/2; 
       final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion); 
       final PhysicsHandler physicsHandler = new PhysicsHandler(face); 
       face.registerUpdateHandler(physicsHandler); 

       scene.attachChild(face); 

       this.mDigitalOnScreenControl = new DigitalOnScreenControl(0, CAMERA_HEIGHT - this.mOnScreenControlBaseTextureRegion.getHeight(), this.mCamera, this.mOnScreenControlBaseTextureRegion, this.mOnScreenControlKnobTextureRegion, 0.1f, new IOnScreenControlListener() { 
         @Override 
         public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) { 
           physicsHandler.setVelocity(pValueX * 100, pValueY * 100); 
         } 
       }); 
       this.mDigitalOnScreenControl.getControlBase().setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
       this.mDigitalOnScreenControl.getControlBase().setAlpha(0.5f); 
       this.mDigitalOnScreenControl.getControlBase().setScaleCenter(0, 128); 
       this.mDigitalOnScreenControl.getControlBase().setScale(1.25f); 
       this.mDigitalOnScreenControl.getControlKnob().setScale(1.25f); 
       this.mDigitalOnScreenControl.refreshControlKnobPosition(); 

       scene.setChildScene(this.mDigitalOnScreenControl); 

       return scene; 
     }