前言
好久没写过文章了,最近第一次接触到Android双屏,觉得有必要写一下,做个笔记.
双屏肯定第一反应就是找有两块屏幕的设备,但是我的设备被拿走做正式运营的设备去了,一开始感觉没什么办法,后来仔细一想,既然在Android系统上,那么谷歌肯定给出了一个解决方案,然后去一顿百度,终于找到了在模拟器上模拟双屏的办法.
如何在模拟器上开启双屏
- 找到模拟器设置
- 关于平板电脑
- 连续点击版本号,直到提示进入开发者模式
- 进入开发者模式
- 找到模拟辅助显示
- 选择你希望的副屏尺寸
代码编写
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
Display[] displays = displayManager.getDisplays();//获取显示器数组
FirstPresentation presentation = new FirstPresentation(getApplicationContext(), displays[1]);//这里contenxt需要使用ApplicationContext
presentation.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
presentation.show();
}
}
public class FirstPresentation extends Presentation {
private static final String TAG = "FirstPresentation";
public FirstPresentation(Context outerContext, Display display) {
super(outerContext, display);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.presentation_first);
}
}
<!--权限-->
<!-- 显示系统窗口权限 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<!-- 在 屏幕最顶部显示-->
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
已知问题: 在副屏中无法响应点击事件,下一步研究下