一个activity会创建一个window
在activity.java中可以看到:
code=Java]final void attach(Context context, ActivityThread aThread,
            Instrumentation instr, IBinder token, int ident,
            Application application, Intent intent, ActivityInfo info,
            CharSequence title, Activity parent, String id,
            Object lastNonConfigurationInstance,
            HashMap<String,Object> lastNonConfigurationChildInstances,
            Configuration config) {
        attachBaseContext(context);        mWindow = PolicyManager.makeNewWindow(this);
        mWindow.setCallback(this);
   
}[[/code]如果我想在我自己写的自定义view中再通过类似的方式创建一个window, (参考的MediaController.java)
中的:
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中没有,
通过import com.android.internal.policy.PolicyManager;不知道这里有没有高手如何实现两个window的?我想一个window放video(yuv)数据,一个放RGB(overlay)数据, 不知道如何做了

解决方案 »

  1.   

    动态的把 一个layout 加到另一个上边不就能实现这个效果么
      

  2.   

    lz这两个window需要同时展现吗?如果同一时间只有一个window展现可以再layout中实现的
      

  3.   

    显然要同时展开啊,一个浮在另外一个。 这个应该是要求创建多个window的,用WindowManager来管理
      

  4.   

    用frame layout是可以做到类似的效果,做overlay问题应该不大