当前位置: 代码迷 >> 综合 >> 安卓双屏异显的实现
  详细解决方案

安卓双屏异显的实现

热度:45   发布时间:2024-01-26 13:18:23.0

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

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

使用方法:

1. 权限

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

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

public class DifferentDislay extends Presentation {public DifferentDislay(Context outerContext, Display display) {super(outerContext,display);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.diffrentdisplay);}
}

3. 显示

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

4. 关闭

mPresentation.dismiss();

 

 

over...

  相关解决方案