| <html devsite><head> |
| <title>分屏交互</title> |
| <meta name="project_path" value="/_project.yaml"/> |
| <meta name="book_path" value="/_book.yaml"/> |
| </head> |
| <body> |
| <!-- |
| Copyright 2017 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <p> |
| 在 Android 7.0 及更高版本中,用户可以借助平台功能(<a href="/devices/tech/display/multi-window">多窗口模式</a>)在设备屏幕上同时显示多个应用。 |
| 默认模式是分屏,该模式可为用户提供两个活动窗格供他们放置应用。 |
| </p> |
| <p> |
| Android 8.0 通过优化分屏功能并为其添加更多功能来改进分屏模式。在默认实现中,如果用户在进入分屏模式后点按<strong>主屏幕</strong>,则系统会压缩顶部窗格,并调整启动器的大小。这是为了向用户展示顶部应用依然处于打开状态,同时保持用户的启动器布局,以便用户从主屏幕中查找和启动应用。 |
| </p> |
| <h2 id="examples-and-source">示例和源代码</h2> |
| <p><code>/platform/packages/apps/Launcher3/</code> 中的 Launcher3 代码中有这项新功能的参考实现 |
| </p> |
| <p> |
| 以下更改 ID 与在 Launcher3 中实现分屏相关,并且可供要对其启动器进行类似更新的设备制造商作为参考。 |
| </p> |
| <ul> |
| <li>Change-Id:<code>I48e5cb3bd15e70627d9bf007d93bc731612fba2e</code></li> |
| <li>Change-Id:<code>I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0</code></li> |
| <li>Change-Id:<code>Id6557d070edb664aa1f4851de7abf494cf8a0677</code></li> |
| <li>Change-Id:<code>Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8</code></li> |
| <li>Change-Id:<code>Ie50279f4edb94812120dea492aefa4f18218162f</code></li> |
| <li>Change-Id:<code>I6f9ee7be12d3266f021796576c771f86f6120246</code></li> |
| <li>Change-Id:<code>I106fe12041565a090047f146a07d4bc80a074b4a</code></li> |
| <li>Change-Id:<code>Ibb49c56aab29d1223a0ab36476a32d565566eb25</code></li> |
| <li>Change-Id:<code>Id60c793730d982277c9d91860e9fb0e6a0df7d38</code></li> |
| <li>Change-Id:<code>I9d358e74ab403989929dee87542d3dde78c2f229</code></li> |
| <li>Change-Id:<code>I925d5ac9d29439c5d61cf089e7784065a8cb5ebd</code></li> |
| <li>Change-Id:<code>I776c6f710e081645cff891487022cf787869ee3f</code></li> |
| <li>Change-Id:<code>I2d17c89db2eb8d60b3393c2abc3b026e5574085d</code></li> |
| <li>Change-Id:<code>Id6ee68826c4f3cc579880540812fd8ed834f8267</code></li> |
| </ul> |
| <h2 id="example-ux">UX 示例</h2> |
| <p> |
| 以下是示例屏幕,用于展示此功能的默认实现的用户体验。 |
| </p> |
| <p><img src="/devices/tech/display/images/split-screen-example-ux.png" alt="用于展示启动器调整大小行为的示例屏幕"/> |
| </p> |
| <p class="img-caption"><strong>图 1</strong>. 用于展示在分屏模式下调整启动器大小的示例屏幕。 |
| </p> |
| <h2 id="implementation">实现</h2> |
| <p> |
| 尽管 Android 8.0 可为此分屏更新提供参考实现,但设备制造商在其启动器中的实现还是要由他们自己来确定。为了支持此功能,请执行以下操作: |
| </p> |
| <ul> |
| <li>实现符合 Android 兼容性定义文档 (CDD) <a href="/compatibility/android-cdd#3814-multi-windows">多窗口要求</a>的多窗口(或具有多窗口的现有实现)。</li> |
| <li>使启动器可供调整大小。Launcher3 中的参考实现会在屏幕变小的情况下移除应用名称,但具体实现可能会因启动器压缩方式而异(特别是在存在自定义启动器代码的情况下)。</li> |
| <li>在启动器清单中设置最小指定高度值。为此,请在以下位置调整 <code>task_height_of_minimized_mode</code> 值:<code>frameworks/base/core/res/res/values/dimens.xml</code></li> |
| </ul> |
| <h2 id="testing">测试</h2> |
| <p> |
| 使用手动测试来确保您的实现正常运行。 |
| </p> |
| <ol> |
| <li>进入分屏模式。</li> |
| <li>按<strong>主屏幕</strong>按钮。</li> |
| <li>观察可调整大小的启动器。</li> |
| </ol> |
| <p> |
| 确保启动器在其支持的所有设备屏幕方向上均可正确调整大小。 |
| </p> |
| |
| </body></html> |