安卓双屏异显的实现

需求:
在做项目时,有一个双屏显示的需求(两个屏幕,在特定情况下,第二个屏幕显示不同内容)。百度一番,发现了Presentation关键词是实现双屏异显功能的重点。

总结:
Presentation 父类是 dialog,所以和dialog具有相似的属性和方法。
Presentation 的容器是屏幕,创建时即需指定。屏幕移除,则Presentation自动取消。
Presentation 的上下文与包含它的Activity 的上下文不同。

使用方法:

1. 权限

2. 创建双屏显示的类,继承Presentation

public class SecondDislay extends Presentation {
    public SecondDislay(Context outerContext, Display display) {
        super(outerContext,display);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.seconddisplay);
    }
}

3. 显示

DisplayManager mDisplayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
Display[] displays = mDisplayManager.getDisplays(); //得到显示器数组
if (displays.length > 1) {
	SecondDislay mPresentation = new SecondDislay(this, displays[1]);//displays[1]是副屏
	mPresentation.show();
} else {
	Toast.makeText(this, "不支持双屏", Toast.LENGTH_SHORT).show();
}

4. 关闭

mPresentation.dismiss();

 

 

over...

你可能感兴趣的:(android)