Posts

Multi-touch 구현

public boolean onTouchEvent(final MotionEvent event) { final int action = event.getAction(); if(mIsMultiTouchSupported) { switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_POINTER_DOWN : { if(mActivePointerId == -1) { final int pind = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; int pid = event.getPointerId(pind); final int x = (int)event.getX(pid); final int y = (int)event.getY(pid); if(pointInArea(x, y)) { mActivePointerId = pid; // System.out.println("down pointer x = "+x+" , y = "+y); onAction(UIAREA_ACTION_DOWN, x, y); } } } break; case MotionEvent.ACTION_DOWN: { if(mActivePointerId == -1) { final int x =...

Media Volume 만 조정도록 볼륨키 수정하기

코드를 삽입 이상하다 생각 말자 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { AudioManager audio = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,AudioManager.FLAG_SHOW_UI); return true; case KeyEvent.KEYCODE_VOLUME_DOWN: audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FLAG_SHOW_UI); return true; case KeyEvent.KEYCODE_CLEAR: case KeyEvent.KEYCODE_BACK: NexusGLRenderer.m_renderer.setTouchEvent(NexusHal.MH_KEY_PRESSEVENT, NexusHal.MH_KEY_SOFT3, 0); return true; } return super.onKeyDown(keyCode, event); }

Change layout margin in Java code

변경하고자 하는 View가 들어가 있는 Layout형태의 LayoutParams 를 생성하고 그 안의 attributes 를 수정한 다음 다시 해당 View에 적용하면 된다. FrameLayout.LayoutParams pl = (FrameLayout.LayoutParams)textInput.getLayoutParams(); pl.leftMargin = 260; pl.topMargin = 82; textInput.setLayoutParams(pl);

Test 6

public void setLooping(boolean _isLoop) { mLoop = _isLoop; if (mPlayer != null) { mPlayer.setLooping(true); } }

벤자민 프랭클린의 13가지 실천덕목

Image
Tips 1. Touch mode에서도 Keypad를 쓸수 있게 하기위해 - View를 생성할때 setFocusableInTouchMode(true);를 호출 한다. 2. View mode를 Portrait 나 Landscape로 고정하고 싶을때 - Manifest의 Activity 에 android:screenOrientation="landscape"을 추가한다. 3. 슬라이드를 열고 닫을때 onDestroy()가 호출되지 않도록 하기위해 - Manifest의 Activity 에 android:configChanges="orientationkeyboardHidden" 을 추가한다. - "orientationkeyboardHidden" 이 둘중에 하나라도 빠지면 슬라이드를 열때 onDesroy()가 호출된다. 4. Scoket 통신을 할수 있도록 하기 위해 - 퍼미션을 추가 한다. uses-permission android:name="android.permission.INTERNET" 5. 진동을 사용할수 있도록 하기 위해 - 퍼미션을 추가한다. uses-permission android:name="android.permission.VIBRATE" 6. 안테나 영역 없에기 - Manifest의 Activity 에 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 7. Manifest의 versionName 갖고오기. - mContext.getPackageManager().getPackageInfo("package name", 0).versionName ex) package="com.gamevil.android" android:versionCode="1" android:versionName="1.0.0"> andro...

Tips

Tips 1. Touch mode에서도 Keypad를 쓸수 있게 하기위해 - View를 생성할때 setFocusableInTouchMode(true);를 호출 한다. 2. View mode를 Portrait 나 Landscape로 고정하고 싶을때 - Manifest의 activity name="android.permission.INTERNET" screenorientation="landscape" configchanges="orientationkeyboardHidden"> 5. 진동을 사용할수 있도록 하기 위해 - 퍼미션을 추가한다. 6. 안테나 영역 없에기 - Manifest의 activity package="com.gamevil.android" theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android="http://schemas.android.com/apk/res/android" versioncode="1" versionname="1.0.0"