当前位置: 首页 > wzjs >正文

做网站语言wordpress logo在哪里改

做网站语言,wordpress logo在哪里改,软件开发人员犯罪,淘客手机网站模板接上文 Flutter PIP 插件 ---- Android 项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力 开发文档 Add videos using picture-in-picture (PiP)介绍PIP功能从 Android 8.0 (API level 26) 引入&…

接上文 Flutter PIP 插件 ---- Android

项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力

开发文档 Add videos using picture-in-picture (PiP)介绍PIP功能从 Android 8.0 (API level 26) 引入,但是autoEnter功能从 Android 12 才开始支持,那么不支持的版本呢就需要通过监听 onUserLeaveHint 主动调用 enterPictureInPictureMode 才能进入 PIP Mode,在之前的版本中因为 FlutterActivity 没有转发 onUserLeaveHint,导致我们只能在 dart 中通过 flutterdidChangeAppLifecycleState 事件,在应用进入后台是主动调用的方式进入PIP Mode,但实际测下来,似乎无法区分通知栏下滑的通知,这导致即使应用在前台,当用户下滑通知栏的时候依然会自动进入PIP Mode, 这显然不是我们想要的,优化后的效果如下:

请添加图片描述

修改PIP插件

  • 新增PipActivity

    package org.opentraa.pip;import android.app.PictureInPictureUiState;
    import android.content.res.Configuration;
    import android.os.Build;
    import androidx.annotation.NonNull;
    import androidx.annotation.RequiresApi;
    import io.flutter.embedding.android.FlutterActivity;@RequiresApi(Build.VERSION_CODES.O)
    public class PipActivity extends FlutterActivity {public interface PipActivityListener {void onPictureInPictureModeChanged(boolean isInPictureInPictureMode,Configuration newConfig);void onPictureInPictureUiStateChanged(PictureInPictureUiState state);boolean onPictureInPictureRequested();void onUserLeaveHint();}private PipActivityListener mListener;public void setPipActivityListener(PipActivityListener listener) {mListener = listener;}// only available in API level 26 and above@RequiresApi(26)@Overridepublic void onPictureInPictureModeChanged(boolean isInPictureInPictureMode,Configuration newConfig) {super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);if (mListener != null) {mListener.onPictureInPictureModeChanged(isInPictureInPictureMode,newConfig);}}// only available in API level 30 and above@RequiresApi(30)@Overridepublic boolean onPictureInPictureRequested() {if (mListener != null) {return mListener.onPictureInPictureRequested();}return super.onPictureInPictureRequested();}// only available in API level 31 and above@RequiresApi(31)@Overridepublic voidonPictureInPictureUiStateChanged(@NonNull PictureInPictureUiState state) {super.onPictureInPictureUiStateChanged(state);if (mListener != null) {mListener.onPictureInPictureUiStateChanged(state);}}@Overridepublic void onUserLeaveHint() {super.onUserLeaveHint();if (mListener != null) {mListener.onUserLeaveHint();}}
    }
    

    主要思路就是如果PIP 插件的用户想要在 Android 12 以下支持应用进入后台自动进入 PIP Mode 的话,可以将自己 MainActivity 的父类修改为 PipActivity ,这样在 PIP 插件被注册时,可以通过判断传入的 Activity 是否是 PipActivity 来决定是否启用相关的功能。

  • 绑定 ActivityPipController
    PipPluginonAttachedToActivityonReattachedToActivityForConfigChanges 的时候去初始化 PipController

    private void initPipController(@NonNull ActivityPluginBinding binding) {if (pipController == null) {pipController = new PipController(binding.getActivity(), new PipController.PipStateChangedListener() {@Overridepublic void onPipStateChangedListener(PipController.PipState state) {// put state into a json objectchannel.invokeMethod("stateChanged",new HashMap<String, Object>() {{ put("state", state.getValue()); }});}});} else {pipController.attachToActivity(binding.getActivity());}
    }@Override
    public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {initPipController(binding);
    }@Override
    public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) {initPipController(binding);
    }
    
  • PipController 构造函数和 attachToActivity 方法中去综合当前的系统版本和绑定的 Activity 进行检查是否支持 autoEnter

    public PipController(@NonNull Activity activity,@Nullable PipStateChangedListener listener) {setActivity(activity);//  ... Other code ...
    }private boolean checkAutoEnterSupport() {// Android 12 and above support to set auto enter enabled directlyif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {return true;}// For android 11 and below, we need to check if the activity is kind of// PipActivity since we can enter pip mode when the onUserLeaveHint is// called to enter pip mode as a workaroundActivity activity = mActivity.get();return activity instanceof PipActivity;
    }private void setActivity(Activity activity) {mActivity = new WeakReference<>(activity);if (activity instanceof PipActivity) {((PipActivity)activity).setPipActivityListener(this);}mIsSupported = checkPipSupport();mIsAutoEnterSupported = checkAutoEnterSupport();
    }public void attachToActivity(@NonNull Activity activity) {setActivity(activity);
    }
    

修改Example项目中的MainActivity

  • 孤伶伶的MainActivity
    package org.opentraa.pip_example;import io.flutter.embedding.android.FlutterActivity;
    import org.opentraa.pip.PipActivity;public class MainActivity extends PipActivity {
    }
    

如上,至此我们已经支持了全部版本的 PIP Mode autoEnter 功能。


文章转载自:

http://XJsUg8IQ.fhsgw.cn
http://F39642j0.fhsgw.cn
http://08fPbgp3.fhsgw.cn
http://3XqRntIf.fhsgw.cn
http://xeNdArAi.fhsgw.cn
http://Ssj2Ty0G.fhsgw.cn
http://5B1ZTZpL.fhsgw.cn
http://5xD1GHw9.fhsgw.cn
http://wvEtEhq2.fhsgw.cn
http://PBn5QbJx.fhsgw.cn
http://RIu7EAkX.fhsgw.cn
http://u5u9z3nV.fhsgw.cn
http://Nl4nhamP.fhsgw.cn
http://oZb14KFY.fhsgw.cn
http://FafApkyU.fhsgw.cn
http://E0iXDNeC.fhsgw.cn
http://oLBL5L8D.fhsgw.cn
http://pKupzNj1.fhsgw.cn
http://wg53giP2.fhsgw.cn
http://NMc4EDMb.fhsgw.cn
http://1FmFkZaH.fhsgw.cn
http://Be6POUZt.fhsgw.cn
http://22EidVZx.fhsgw.cn
http://6XbM3Wqg.fhsgw.cn
http://rwchioXq.fhsgw.cn
http://dRZ5V8If.fhsgw.cn
http://g1fcZdaS.fhsgw.cn
http://YUm1n2xt.fhsgw.cn
http://cuXesCC9.fhsgw.cn
http://WbLOqyFn.fhsgw.cn
http://www.dtcms.com/wzjs/733310.html

相关文章:

  • 高端个性化网站建设wordpress 仿小米主题下载
  • 网站空间 默认文档淘宝客的网站怎么做
  • 网站设计就业python入门教程完整版
  • 谁需要做网站的嘉兴企业产品宣传册制作
  • 赤壁市建设工程造价信息价网站查询网站筑云做关键词
  • 移动网站系统南宁网站建设公司利润
  • 如何看织梦做的网站的源码做网站用的pm是啥
  • 深圳的设计网站三屏网站建设
  • 购物便宜的网站有哪些wordpress 评论go跳转
  • wordpress 账号 有效期网络营销中的seo与sem
  • 宝思哲手表网站中山市网站建设公司
  • 温州网站建设得花多少钱营销型网站建设的目标是
  • 东莞网站制作网站设计北京品牌网站建设
  • 化妆品网站建设模板网络营销的目标
  • 株洲 网站建设 公司做网站导航用什么开元程序
  • 网站建设服务哪家在线oa免费crm
  • 网站建设要钞钱网上商店有哪些特点
  • 网站建设流程咨询网站建设市场报价
  • 公司网站建设中心课程设计代做网站php
  • 肃宁哪里建网站桂平网站制作
  • 个人免费建站系统网络营销课程目录
  • 如何自建网站卖产品WordPress弊端
  • 宜昌网站建设开发费用58同城成都网站建设名录
  • 黑龙江 建设监理协会网站网站建设价格怎么算
  • 开封网站建设公司重庆点优建设网站公司吗
  • 做风险投资网站企业云平台管理系统
  • 哪些行业做网站推广的多外包加工网官网下载app
  • 沈阳网站托管公司网站风险怎么解决方案
  • 唐山正规做网站的公司深圳网络推广哪家好
  • 一键提交网站国外好看的教育类网站模板下载