diff options
author | Trevor Johns <trevorjohns@google.com> | 2016-04-05 19:43:35 -0700 |
---|---|---|
committer | Trevor Johns <trevorjohns@google.com> | 2016-04-05 20:32:07 -0700 |
commit | a5060ee80dbb48bd7fc545d2aeeeb657b79893ea (patch) | |
tree | 842bb82e198dccade4bfb3ceafcc01f96083cd34 /docs/html-intl/intl/zh-cn/design/patterns | |
parent | ebf3261aa6d80ad4ca1df0fd0509961ff7a1914e (diff) | |
parent | 9577d31b10aa654d3ba63947e7733945a358395e (diff) |
Merge branch 'mnc-mr-docs' into mnc-ub-dev
Large merge to reconnect automerger for docs branch to mainline.
Conflicts:
docs/html-intl/intl/es/index.jd
docs/html-intl/intl/es/preview/download.jd
docs/html-intl/intl/es/preview/index.jd
docs/html-intl/intl/ja/index.jd
docs/html-intl/intl/ja/preview/download.jd
docs/html-intl/intl/ja/preview/index.jd
docs/html-intl/intl/ko/index.jd
docs/html-intl/intl/ko/preview/download.jd
docs/html-intl/intl/ko/preview/index.jd
docs/html-intl/intl/pt-br/index.jd
docs/html-intl/intl/pt-br/preview/download.jd
docs/html-intl/intl/pt-br/preview/index.jd
docs/html-intl/intl/ru/index.jd
docs/html-intl/intl/ru/preview/download.jd
docs/html-intl/intl/ru/preview/index.jd
docs/html-intl/intl/zh-cn/index.jd
docs/html-intl/intl/zh-cn/preview/download.jd
docs/html-intl/intl/zh-cn/preview/index.jd
docs/html-intl/intl/zh-tw/index.jd
docs/html-intl/intl/zh-tw/preview/download.jd
docs/html-intl/intl/zh-tw/preview/index.jd
docs/html/guide/topics/manifest/compatible-screens-element.jd
docs/html/guide/topics/manifest/uses-feature-element.jd
docs/html/preview/download.jd
docs/html/preview/features/runtime-permissions.jd
docs/html/sdk/index.jd
docs/html/tools/revisions/studio.jd
docs/html/tools/sdk/eclipse-adt.jd
docs/html/tools/support-library/features.jd
telephony/java/android/telephony/TelephonyManager.java
Bug: 28000173
Change-Id: Iacab0481175f1b32e0ac3bab98cde9e994100e94
Diffstat (limited to 'docs/html-intl/intl/zh-cn/design/patterns')
3 files changed, 111 insertions, 41 deletions
diff --git a/docs/html-intl/intl/zh-cn/design/patterns/compatibility.jd b/docs/html-intl/intl/zh-cn/design/patterns/compatibility.jd new file mode 100644 index 000000000000..7ec1bf3fa8c4 --- /dev/null +++ b/docs/html-intl/intl/zh-cn/design/patterns/compatibility.jd @@ -0,0 +1,70 @@ +page.title=向后兼容性 +page.tags="support" +page.metaDescription=关于 Android 4.x 如何让其 UI 设计适应早期硬件和操作系统版本的说明。 +@jd:body + +<a class="notice-developers" href="{@docRoot}training/basics/supporting-devices/index.html"> + <div> + <h3>开发者文档</h3> + <p>支持不同设备</p> + </div> +</a> + +<p>Android 3.0 中的重大更改包括:</p> +<ul> +<li>弃用导航硬按键(返回、菜单、搜索、主屏幕),改为通过虚拟控件(返回、主屏幕、最近使用记录)处理导航。 +</li> +<li>使用操作栏中的菜单的可靠模式。</li> +</ul> +<p>Android 4.0 将这些针对平板电脑的更改引入手机平台。</p> + +<h2 id="older-hardware">让 Android 4.0 适应早期硬件和应用</h2> + +<div class="cols"> + <div class="col-6"> + +<h4>带有虚拟导航控件的手机</h4> +<p>针对 Android 3.0 和后续版本编写的 Android 应用在操作栏中显示操作。操作栏中放不下或者不够重要因而不值得显示在操作栏顶级菜单中的操作将显示在操作溢出菜单中。 + +</p> +<p>用户可通过在操作栏中触摸操作溢出菜单来访问该菜单。</p> + + </div> + <div class="col-7"> + + <img src="{@docRoot}design/media/compatibility_virtual_nav.png"> + + </div> +</div> + +<div class="cols"> + <div class="col-6"> + +<h4>带有实体导航按键的手机</h4> +<p>带有传统导航硬按键的 Android 手机在屏幕底部不会显示虚拟导航栏。 +其操作溢出菜单可从硬按键菜单中进行访问。其形成的操作弹出菜单与上例风格相同,但显示在屏幕底部。 +</p> + + </div> + <div class="col-7"> + + <img src="{@docRoot}design/media/compatibility_physical_buttons.png"> + + </div> +</div> + +<div class="cols"> + <div class="col-6"> + +<h4>带有虚拟导航控件的手机上的传统应用</h4> +<p>当您在带有虚拟导航控件的手机上运行为 Android 2.3 或更早版本编写的应用时,在虚拟导航栏的右侧将会显示操作溢出菜单控件。 +您可以触摸这些控件,以传统 Android 菜单风格显示应用的操作。 +</p> + + </div> + <div class="col-7"> + + <img src="{@docRoot}design/media/compatibility_legacy_apps.png"> + + </div> +</div> diff --git a/docs/html-intl/intl/zh-cn/design/patterns/confirming-acknowledging.jd b/docs/html-intl/intl/zh-cn/design/patterns/confirming-acknowledging.jd index aa4ae1fad4af..d4eaaffe9f8f 100644 --- a/docs/html-intl/intl/zh-cn/design/patterns/confirming-acknowledging.jd +++ b/docs/html-intl/intl/zh-cn/design/patterns/confirming-acknowledging.jd @@ -4,12 +4,12 @@ page.tags=dialog,toast,notification <p>在某些情况下,当用户在您的应用中调用某个操作时,最好使用文字内容来<em>确认</em>或<em>确知</em>该操作。</p> -<div class="layout-content-row"> - <div class="layout-content-col span-6"> +<div class="cols"> + <div class="col-6"> <img src="{@docRoot}design/media/confirm_ack_confirming.png"> <p><strong>确认</strong>是要求用户确认自己确实希望执行刚才所调用的操作。在某些情况下,确认随需要用户考虑的操作所相关的警告或关键信息一起显示。</p> </div> - <div class="layout-content-col span-6"> + <div class="col-6"> <img src="{@docRoot}design/media/confirm_ack_acknowledge.png"> <p><strong>确知</strong>就是显示一段文字信息,让用户知道自己刚才调用的操作已经完成。这将消除系统正在执行的隐式操作的不确定性。在某些情况下,确知随撤消操作的选项一起显示。</p> </div> @@ -22,14 +22,14 @@ page.tags=dialog,toast,notification <img src="{@docRoot}design/media/confirm_ack_flowchart.png"> <h2>确认</h2> -<div class="layout-content-row"> - <div class="layout-content-col span-6"> +<div class="cols"> + <div class="col-6"> <h4>示例:Google Play 书籍</h4> <img src="{@docRoot}design/media/confirm_ack_ex_books.png"> <p>在该示例中,用户要求从其 Google Play 书架中删除一本书。系统显示了一条<a href="{@docRoot}design/building-blocks/dialogs.html#alerts">警告</a>来要求确认该操作,因为用户必须知道,一旦删除,该书籍将无法继续在任何设备上使用。</p> <p>在设计确认对话框时,请使用反映所请求操作的文字作为标题,使标题更有意义。</p> </div> - <div class="layout-content-col span-7"> + <div class="col-7"> <h4>示例:Android Beam</h4> <img src="{@docRoot}design/media/confirm_ack_ex_beam.png"> <p>确认不一定要显示在有两个按钮的警告中。在启动 Android Beam 后,系统提示用户触摸要分享的内容(本例中是一张照片)。如果他们决定不继续操作,只需移开手机即可。</p> @@ -37,15 +37,15 @@ page.tags=dialog,toast,notification </div> <h2>确知</h2> -<div class="layout-content-row"> - <div class="layout-content-col span-6"> +<div class="cols"> + <div class="col-6"> <h4>示例:已保存中断的 Gmail 草稿</h4> <img src="{@docRoot}design/media/confirm_ack_ex_draftsave.png"> <p>在本例中,如果用户在 Gmail 撰写邮件屏幕中向后或向上导航,可能会发生一些意外情况,此时会自动保存当前草稿。Toast 形式的确知会明确告知这一点。它会在几秒钟后消失。</p> <p>在这种情况下不能执行撤消操作,因为保存是由应用发起的,而不是由用户执行的。通过导航至草稿列表,可迅速方便地恢复邮件。</p> </div> - <div class="layout-content-col span-6"> + <div class="col-6"> <h4>示例:已删除 Gmail 会话</h4> <img src="{@docRoot}design/media/confirm_ack_draft_deleted.png"> <p>在用户从 Gmail 中的列表删除某个会话后,会出现带撤消选项的确知。确知消息会一直等到用户采取无关操作才会消失,例如滚动列表。</p> @@ -53,14 +53,14 @@ page.tags=dialog,toast,notification </div> <h2>无需确认或确知</h2> -<div class="layout-content-row"> - <div class="layout-content-col span-6"> +<div class="cols"> + <div class="col-6"> <h4>示例:+1 操作</h4> <img style="padding: 33px 0 30px;" src="{@docRoot}design/media/confirm_ack_ex_plus1.png"> <p><strong>无需确认</strong>。如果用户意外触摸 +1 按钮,不会有什么大问题。他们只需再次触摸该按钮,撤消该操作即可。</p> <p><strong>无需确知</strong>。用户将看到 +1 按钮弹起并变红。这是非常明确的信号。</p> </div> - <div class="layout-content-col span-7"> + <div class="col-7"> <h4>示例:从主屏幕删除应用</h4> <img src="{@docRoot}design/media/confirm_ack_ex_removeapp.png"> <p><strong>无需确认</strong>。这属于有意操作:用户必须将项目拖放到相对较大并且独立的目标上。因此,很难发生意外。但是如果用户反悔决定,只需数秒钟时间即可复原。</p> diff --git a/docs/html-intl/intl/zh-cn/design/patterns/navigation.jd b/docs/html-intl/intl/zh-cn/design/patterns/navigation.jd index 339a2c5b3017..5d8eae9a8fc6 100644 --- a/docs/html-intl/intl/zh-cn/design/patterns/navigation.jd +++ b/docs/html-intl/intl/zh-cn/design/patterns/navigation.jd @@ -14,15 +14,15 @@ page.image=/design/media/navigation_between_siblings_gmail.png Android 3.0对全局导航行为做出了重大改变。 对用户来说,认真遵照“返回”和“向上”的指导准则可让应用的导航更可靠、更符合预期。 </p> -<p>Android 2.3 及更早的版本使用<em>返回</em>按钮来支持应用内的导航。在 Android 3.0 中引入操作栏后,出现了第二种导航机制:即<em>向上</em>按钮,由应用图标和左向箭头构成。 - +<p>Android 2.3 及更早的版本使用系统<em>返回</em>按钮来支持应用内的导航。 +在 Android 3.0 中引入操作栏后,出现了第二种导航机制:即<em>向上</em>按钮,由应用图标和左向箭头构成。 </p> <img src="{@docRoot}design/media/navigation_with_back_and_up.png"> -<h2 id="up-vs-back">向上和返回</h2> +<h2 id="up-vs-back">向上与返回的比较</h2> -<p>“向上”按钮用于根据屏幕之间的层级关系在应用中导航。 +<p>“向上”按钮用于根据屏幕之间的层级关系在某个应用内部导航。 例如,如果屏幕 A 显示项目列表,并且选择某个项目会调出屏幕 B(该屏幕显示项目的更多详情),则屏幕 B 应提供可返回屏幕 A 的“向上”按钮。 </p> @@ -50,9 +50,9 @@ Android 3.0对全局导航行为做出了重大改变。 <h2 id="within-app">应用内导航</h2> <h4>通过多个入口点导航屏幕</h4> -<p>有时,某个屏幕在应用层级中的位置并不固定,可以从多个入口点抵达 — 例如可从应用中的其他任何屏幕抵达设置屏幕。在这种情况下,选择“向上”按钮会返回到引用屏幕,其行为跟“返回”按钮相同。 - +<p>有时,某个屏幕在应用层级中的位置并不固定,可以从多个入口点抵达 — 例如可从应用中的其他任何屏幕抵达设置屏幕。 +在这种情况下,应选择“向上”按钮来返回到引用屏幕,其行为跟“返回”按钮相同。 </p> <h4>更改屏幕中的视图</h4> <p>更改屏幕的视图选项不会更改“向上”或“返回”的行为:屏幕仍然位于应用层级中的同一位置,并且不会创建新的导航历史记录。 @@ -117,8 +117,8 @@ Android 3.0对全局导航行为做出了重大改变。 <h4>间接通知</h4> <p>如果您的应用需要同时提供关于多个事件的信息,可使用一条通知将用户引导至某个间隙屏幕。 -该屏幕将这些事件汇总,并为用户提供深度导航应用的路径。这种样式的通知称为<em>间接通知</em>。 - +该屏幕将这些事件汇总,并为用户提供深度导航应用的路径。 +这种样式的通知称为<em>间接通知</em>。 </p> <p>与标准(直接)通知不同,在间接通知的间隙屏幕上按下“返回”会让用户回到触发通知的点 — 不会在返回栈中插入额外的屏幕。 @@ -153,53 +153,53 @@ Android 3.0对全局导航行为做出了重大改变。 <h2 id="between-apps">在应用之间导航</h2> <p>Android 系统的一个基本优势在于能够让应用相互激活,这样用户就可以直接从一个应用导航到另一个应用。 -例如,需要获取照片的应用可激活相机应用,后者可将照片返回给前者。这对于开发者和用户来说都极为有利,开发者可以方便地利用来自其他应用的代码,而用户则在执行常用操作时可以获得一致的体验。 - +例如,需要获取照片的应用可激活相机应用,后者可将照片返回给前者。 +这对于开发者和用户来说都极为有利,开发者可以方便地利用来自其他应用的代码,而用户则在执行常用操作时可以获得一致的体验。 </p> -<p>为了理解应用到应用的导航,必须理解下面探讨的 Android 框架行为 -。</p> +<p>为了理解应用到应用的导航,必须理解下面探讨的 Android 框架行为。 +</p> -<h4>活动、任务和意向</h4> +<h4>Activity、任务和 Intent</h4> -<p>在 Android 中,<strong>活动</strong>是一个应用组件,用于定义信息屏幕以及用户可执行的所有相关操作。 -您的应用是活动的集合,由您创建的活动以及从其他应用重用的活动构成。 +<p>在 Android 中,<strong>Activity</strong> 是一个应用组件,用于定义信息屏幕以及用户可执行的所有相关操作。 +您的应用是 Activity 的集合,由您创建的 Activity 以及从其他应用重用的 Activity 构成。 </p> -<p><strong>任务</strong>是用户为达成某个目标而执行的活动序列。一个 -任务可以只利用一个应用的活动,也可以利用来自多个不同应用的活动。 +<p><strong>任务</strong>是用户为达成某个目标而执行的 Activity 序列。一个 +任务可以只利用一个应用的 Activity,也可以利用来自多个不同应用的 Activity。 </p> -<p><strong>意向</strong>是应用的一种机制,用于发出信号以表明需要另一个应用的辅助才能执行某个操作。 -应用的活动可指示其可响应哪些意向。 -对于诸如“分享”这样的常用意向,用户可能安装有许多可执行该请求的应用。 +<p><strong>Intent</strong>是应用的一种机制,用于发出信号以表明需要另一个应用的辅助才能执行某个操作。 +应用的 Activity 可指示其可响应哪些 Intent。 +对于诸如“分享”这样的常用Intent,用户可能安装有许多可执行该请求的应用。 </p> <h4>示例:在应用之间导航以支持分享</h4> -<p>要了解如何结合使用活动、任务和意向,可以考虑一个应用如何让用户通过使用另一应用来分享内容的例子。例如,从主屏幕启动 Play 商店应用可启动新任务 A(参见下图)。 - -在 Play 商店中导航并触摸某本促销图书来查看其详情之后,用户会停留在该任务中并通过添加活动来扩展该任务。 -触发“分享”操作会通过一个对话框来提示用户选择活动,该对话框中会列出来自不同应用、之前已注册用于处理“分享”意向的每一种活动。 +<p>要了解如何结合使用 Activity、任务和 Intent,可以考虑如何让一个应用允许用户通过使用另一应用来分享内容的例子。 +例如,从主屏幕启动 Play 商店应用可启动新任务 A(参见下图)。 +在 Play 商店中导航并触摸某本促销图书来查看其详情之后,用户会停留在该任务中并通过添加 Activity 来扩展该任务。 +触发“分享”操作会通过一个对话框来提示用户选择 Activity,该对话框中会列出来自不同应用、之前已注册用于处理“分享” Intent 的每一种 Activity。 </p> <img src="{@docRoot}design/media/navigation_between_apps_inward.png"> -<p>如果用户选择通过 Gmail 分享,则会以延续任务 A 的形式添加 Gmail 的写邮件活动 — 而不会创建新任务。 +<p>如果用户选择通过 Gmail 分享,则会以延续任务 A 的形式添加 Gmail 的写邮件 Activity — 而不会创建新任务。 如果 Gmail 在后台还运行有自己的任务,该任务不会受影响。 </p> -<p>在写邮件活动中,发送邮件或触摸“返回”按钮会让用户回到图书详情活动。 +<p>在写邮件 Activity 中,发送邮件或触摸“返回”按钮会让用户回到图书详情 Activity。 之后继续触摸“返回”会在 Play 商店中继续回退,直至抵达主屏幕。 </p> <img src="{@docRoot}design/media/navigation_between_apps_back.png"> -<p>尽管如此,用户可通过在写邮件活动中触摸“向上”按钮表明其希望留在 Gmail 中。 -此时会显示 Gmail 的会话列表活动,并为其创建新任务 B。新任务都始于主屏幕,因此从会话列表触摸“返回”按钮,始终会回到主屏幕。 +<p>尽管如此,用户可通过在写邮件 Activity 中触摸“向上”按钮表明其希望留在 Gmail 中。 +此时会显示 Gmail 的会话列表 Activity,并为其创建新任务 B。新任务都始于主屏幕,因此从会话列表触摸“返回”按钮,始终会回到主屏幕。 </p> <img src="{@docRoot}design/media/navigation_between_apps_up.png"> @@ -208,6 +208,6 @@ Android 3.0对全局导航行为做出了重大改变。 如果 Gmail 在后台还运行有自己的任务,该任务会被任务 B 取代 — 之前的上下文会被丢弃,以使用户达成新目标。 </p> -<p>如果您的应用经过注册,以使用应用中的深层活动来处理意向,可参阅<a href="#into-your-app">通过主屏幕小工具和通知进入您的应用</a>,获得有关如何指定“向上”导航行为的指导。 +<p>如果您的应用经过注册,以使用应用中的深层 Activity 来处理 Intent,可参阅<a href="#into-your-app">通过主屏幕小工具和通知进入您的应用</a>,获得有关如何指定“向上”导航行为的指导。 </p> |