记录一名小白快速适配平板开发的过程(适用把原来手机项目直接添加配置文件,无需重新开发代码,超级简单)

最近在做平板适配的功能,有点头痛!我主要是想用华为的平行视窗功能来适配。我先是看了官网上的文档,内容有点少。而且出现各种问题,也找不到具体的答案。

华为的技术文档链接:

配置指南-客户端开发-应用开发-平行视界-UI Engine | 华为开发者联盟 (huawei.com)

以下是我适配的过程,超级简单:

1.我先是按照文档内容指示,在AndroidMainifest文档里面添加了配置项:在“AndroidManifest.xml”文件的“application”中新增“meta-data”。

代码:“<application
    android:allowBackup="false"
    android:fitsSystemWindows="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.MyPadTestProject">
    <meta-data android:name="EasyGoClient" android:value="true" />

2.新建assets文件夹(原来项目有就无须再建)

  这个文件夹不能随便放,一定要放对位置,要不,里面的文件没有用。

选择"Project"查看: assets文件夹的路径是 项目/app/src/main/assets(位置不能错,错了不行)

 

 3.在asssets文件夹里面创建easygo.json文件(文件名一定不能错)。

4.easygo.json内容添加:最好直接复制华为官网的内容,再进行修改,因为这个文件里面的内容也不允许错一点,哪怕多一个,少一个“,”都不行。里面的配置项目主要解释可以在官网上查看

代码:

{
  "easyGoVersion": "1.0",
  "client": "com.example.mypadtestproject",
  "logicEntities": [
    {
      "head": {
        "function": "magicwindow",
        "required": "true"
      },
      "body": {
        "mode": "1",
        "defaultDualActivities": {
          "mainPages": "com.example.mypadtestproject.MainActivity",
          "relatedPage": "com.example.mypadtestproject.WhiteActivity"
        },
        "transActivities": [
          "com.example.mypadtestproject.WhiteActivity"
        ],
        "Activities": [
          {
            "name": " com.example.mypadtestproject.TestActivity",
            "defaultFullScreen": "true"
          },
          {
            "name": "com.example.mypadtestproject.MainActivity",
            "lockSide": "primary"
          }
        ],
        "UX": {
    "supportRotationUxCompat": "false",
          "isDraggable": "true",
          "supportDraggingToFullScreen": "PAD"
        }
      }
    }
  ]
}

5.以上内容都添加好了,直接运行项目在华为平板上看看效果。

 

注意:版本支持华为折叠屏手机、M系列及以上平板。并不支持所有华为的平板。看平板支持不支持,直接找一下“设置-应用和服务-是否在寻找其他设置项?平行视界”,如果能找到,证明这个设备应该支持的,点击进去“平行视界”会看到很多已经支持平行视界的这个功能的app。我们配置好,运行的时候,看有没有配置成功,也是在这里可以查看,如果你的应用配置成功,会在这个支持平行视界的应用列表中出现。

6.如果没有效果,可以在以下几个小点检查一遍:

1)AndroidMainifest.xml有没有添加 <meta-data android:name="EasyGoClient" android:value="true" />,位置是否正确,代码是否正确

2)assets文件夹位置是否正确

3)easygo.json文件内容有没有完全正确,我试过删代码的时候,漏删了一个逗号,导致效果没有实现

4)看设备是否支持平行视窗,如果设置不支持,那就没办法了

5)在调试代码中,每次更改easygo.json里面的配置内容,一定要先卸载原来的安装包或者要调大应用的版本号,比如原来设备安装的是1.0的包,我把easygo.json重新改了一下,想要修改的配置生效,必须要把设备原来安装的包卸载掉再去运行调试,或者把版本号由原来的1.0改成2.0,再去调试。这样新的配置才能调试生效。

7.想自定义修改分屏比例?怎么办?

官网上默认的分屏比例是1:1。效果就是运行后初始两个屏幕都是一样大,当然把easygo.json里面的 "isDraggable": 设置为"true",这个分屏比例是可以用户自己调整的。但是,但是,估计大部分人都想要做成微信或者飞书那样,首次运行是看起来好像是1:2那种分屏比例吧?

 为了弄这个分屏比例,我网上搜索了很久,可惜没有找到方法,官网上给出的配置内容也没有提到这个修改分屏比例。

我无意中看到有人回答问题的时候,发了半个截图上来。截图上是easygo.json的配置文档,不过只有部分,那个截图,我现在也找不到了。我看到了有部分代码是这样的;

 "windowsRatio": [{"device": "FOLD",
          "ratio": "1056|1138"},{"device":"PAD","ratio": "900|1654"}],

 我放在自己的项目中:

看起来是调整比例的,我就把它手打出来,放在easygo.json中,运行一看,真的是呀!看看我添加代码后的运行效果:

这里有个bug:就是我要把  "isDraggable": 设置为"false",这个分屏比例才能实现,但是某些项目设置为true也是可以实现首次运行比例是这样的。估计还没有做好,所以官网才没有文档说明。

8.修改默认的黑色分割线颜色?

这个微信和飞书上是实现了,但是我暂时没有找到能修改成功的方法,在网上也没有找到相关代码。如果有人实现了,请给我留言呀!

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值