Android 折叠屏适配(分屏滑动布局发生改变)

35 篇文章 0 订阅
5 篇文章 0 订阅

首先讲一下问题的背景最近在修改bug的时候出现折叠屏在分屏模式滑动两边屏幕的大小时出现布局变形或遮挡的情况我的处理方式如下

//第一种方式当然是官方提供的回调
获取当前布局放生改变的时候给出的宽高或者直接设置当前给出的宽高
还有就是让布局发生改变的时候可以在这进行刷新布局
问题1:这个是干嘛的 Configuration newConfig 我们可以用它获取当前布局放生改变的时候的宽高对当前view进行设置比如newConfig.screenWidthDp,newConfig.screenHeightDp:,还有一种方式就是float ratio = (float) newConfig.screenWidthDp / newConfig.screenHeightDp;获取当前屏幕比率,在滑动中间的分屏时打log查看当前的变形的比率是多少可以进行限制


@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    Log.i("config", "newConfig.screenHeightDp:" + newConfig.screenHeightDp
            + ", newConfig.screenWidthDp" + newConfig.screenWidthDp);
        
            
}

第二种方式下面代码时一个点击事件里面的但是我需要进行限制让分屏滑动的比率超过布局承受极限时对点击事件作出限制

Configuration  configuration = this.getResources().getConfiguration();
        float ratio = (float) configuration.screenWidthDp / configuration.screenHeightDp;
        boolean isRunningInFullMode = !this.isInMultiWindowMode();
        if (isFixFoldDeviceFullscreenButton()||ratio>=0.52 && ratio<=0.53 ||ratio>0.56 && ratio<0.57 && isRunningInFullMode){
           //满足条件执行
        }else{
            Toast.makeText(this, "当前滑动分屏不支持点击加号", Toast.LENGTH_SHORT).show();
        }

//还有就是关于集成折叠屏功能请移步我的另一篇博客
集成折叠屏功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王鑫林呀!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>