Android 双屏异显 Presentation 的快速开发

整体实现的思路是:双屏默认显示一样的东西,点击按钮副屏画面改变,副屏操作点击按钮回到主屏界面。

1. 权限要求。

    <!-- 双屏异显权限 -->
    <uses-permission android:name= "android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name= "android.permission.SYSTEM_OVERLAY_WINDOW"/>

在onRequestPermissionsResult上添加 @RequiresApi(api = Build.VERSION_CODES.M),代码部分添加:

if (!Settings.canDrawOverlays(this)) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
            Uri.parse("package:" + getPackageName()));
    startActivityForResult(intent, 2);
}

代码添加后如下:

 

2. 自定义类继承Presentation。

public class MainPresentation extends Presentation {

    public MainPresentation(Context outerContext, Display display) {
        super(outerContext, display);
    }

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

        Button btnTest1 = (Button) findViewById(R.id.btn_ceshi1);
        btnTest1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                MainPresentation.this.dismiss();
            }
        });

    }
}

对应的布局文件:

界面就是一个按钮,点击回到主屏:

3. Activity中声明及点击事件。

 获取屏幕数量,当屏幕数量大于1时,才可以将副屏初始化(有位置展示)。

        DisplayManager manager = (DisplayManager)getSystemService(Context.DISPLAY_SERVICE);
        Display[] displays = manager.getDisplays();
        Log.d(TAG, "onCreate: " + displays.length);
        if (displays.length > 1) {
            mainPresentation = new MainPresentation(this, displays[1]);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && Settings.canDrawOverlays(this)) {
                mainPresentation.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
            } else {
                mainPresentation.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
            }
        }

展示:

mainPresentation.show();

隐藏:

mainPresentation.hide();

释放:

mainPresentation.dismiss();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!针对您的问题,我可以为您提供一些关于在Android Studio中进行双屏异显的信息首先,确保您的计算机系统支持双屏设置。然后,按照以下步骤操作: 1. 连接第二个显示器:将第二个显示器连接到计算机,并确保它被正确识别。 2. 打开Android Studio:启动Android Studio,并进入“File(文件)”菜单。 3. 进入“Settings(设置)”:在“File(文件)”菜单中,选择“Settings(设置)”。 4. 打开“Appearance & Behavior(外观与行为)”:在设置窗口的左侧面板中,选择“Appearance & Behavior(外观与行为)”选项。 5. 进入“Appearance(外观)”选项卡:在“Appearance & Behavior(外观与行为)”选项卡中,选择“Appearance(外观)”。 6. 启用“Presentation Mode(演示模式)”:在“Appearance(外观)”选项卡中,启用“Presentation Mode(演示模式)”。 7. 配置显示器:在“Presentation Mode(演示模式)”下,您可以配置要在主显示器和辅助显示器上显示的工具窗口。您可以使用拖放或右侧的箭头按钮来移动它们。 8. 应用更改:点击“OK”按钮以应用更改。 现在,您可以在Android Studio中使用双屏异显了。主显示器上将显示主要编辑界面,而辅助显示器上可以显示工具窗口,如项目结构、日志等。 希望这些步骤能帮助到您!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值