안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
안드로이드에서 동영상 player 만들기 참 쉽죠잉~~~
그런데, 동영상 player의 컨틀롤 윈도우(play, pause 등 버튼 있는) 처럼
화면의 일부만 차지하는 윈도우를 안드로이드에서 어떻게 만드는지요?
SDK 쪽 예제에서 본적이 없는거 같은데요.
MediaController 소스를 보면,
-------- 소스중 일부 ------------------
private WindowManager mWindowManager;
private Window mWindow;
private void initFloatingWindow() {
mWindowManager = (WindowManager)mContext.getSystemService("window");
mWindow = PolicyManager.makeNewWindow(mContext);
mWindow.setWindowManager(mWindowManager, null, null);
mWindow.requestFeature(Window.FEATURE_NO_TITLE);
mDecor = mWindow.getDecorView();
mDecor.setOnTouchListener(mTouchListener);
mWindow.setContentView(this);
mWindow.setBackgroundDrawableResource(android.R.color.transparent);
// While the media controller is up, the volume control keys should
// affect the media stream type
mWindow.setVolumeControlStream(AudioManager.STREAM_MUSIC);
setFocusable(true);
setFocusableInTouchMode(true);
setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
requestFocus();
}
이렇게 윈도우를 만듭니다.
그런데, 저 PolicyManager 란 것은 SDK 에 없고 사용 불가능 입니다.
Window 클래스는 Abstract base class for a top-level window look and behavior policy 라고 하네요 ㅡ.ㅡ
안드로이드에서는 어떻게 화면의 일부만 차지하는 윈도우을 만들 수 있을 까요?
감사합니다.
안드로이드에서 동영상 player 만들기 참 쉽죠잉~~~
그런데, 동영상 player의 컨틀롤 윈도우(play, pause 등 버튼 있는) 처럼
화면의 일부만 차지하는 윈도우를 안드로이드에서 어떻게 만드는지요?
SDK 쪽 예제에서 본적이 없는거 같은데요.
MediaController 소스를 보면,
-------- 소스중 일부 ------------------
private WindowManager mWindowManager;
private Window mWindow;
private void initFloatingWindow() {
mWindowManager = (WindowManager)mContext.getSystemService("window");
mWindow = PolicyManager.makeNewWindow(mContext);
mWindow.setWindowManager(mWindowManager, null, null);
mWindow.requestFeature(Window.FEATURE_NO_TITLE);
mDecor = mWindow.getDecorView();
mDecor.setOnTouchListener(mTouchListener);
mWindow.setContentView(this);
mWindow.setBackgroundDrawableResource(android.R.color.transparent);
// While the media controller is up, the volume control keys should
// affect the media stream type
mWindow.setVolumeControlStream(AudioManager.STREAM_MUSIC);
setFocusable(true);
setFocusableInTouchMode(true);
setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
requestFocus();
}
이렇게 윈도우를 만듭니다.
그런데, 저 PolicyManager 란 것은 SDK 에 없고 사용 불가능 입니다.
Window 클래스는 Abstract base class for a top-level window look and behavior policy 라고 하네요 ㅡ.ㅡ
안드로이드에서는 어떻게 화면의 일부만 차지하는 윈도우을 만들 수 있을 까요?
감사합니다.
UI XML에서 width랑 height 에 wrap_content로 넣거나 자신이 원하는 dp나 px로 값을 넣으면 해당 하는 만큼만 UI가 잡히니까.. 그렇게 하면 되는것 아닌가요?^^ㅋ