1. 程式人生 > >Android雙屏機雙屏異顯

Android雙屏機雙屏異顯

主要類:Presentation、DisplayManager、Display

1.如何獲取裝置上的螢幕?

DisplayManager  mDisplayManager;//螢幕管理類
    Display[]  displays;//螢幕陣列
    mDisplayManager = (DisplayManager)context.getSystemService(Context.DISPLAY_SERVICE);
    displays =mDisplayManager.getDisplays();

2.主屏和副屏的區分?

    主屏:displays[0]

    副屏:displays

[1]

3.如何在副屏上展示內容?

通過Presentation來實現,Presentation繼承了Dialog。假設我們寫了一個DifferentDislay的類,這個類是要繼承     

    Presentation類的。程式碼:

privateclass DifferentDislay extends Presentation{
        public DifferentDislay(Context outerContext, Display display) {
            super(outerContext,display);
            //TODOAuto-generated constructor stub  
        }
        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.diffrentdisplay_basket);
        }
    }

4.開啟副屏
//context用getApplicationContext在點選home鍵時只要程式還在後臺副屏就還顯示,displays[1]是副屏
	DifferentDislay  mPresentation = new DifferentDislay (
			getApplicationContext,displays[1]);
	//setType()中的引數可以使用TYPE_SYSTEM_ALERT,TYPE_TOAST,不過倆個都過時了;
	//介意過時的話可以改成FLA_LAYOUT_IN_OVERSCAN;
    	mPresentation.getWindow().setType(
   		WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    	mPresentation.show();