From 88e0dad1e8c622b2ad906d2f45be241a9a16fb15 Mon Sep 17 00:00:00 2001 From: allenlsy Date: Thu, 5 Mar 2015 20:58:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=A0=A1=E5=AF=B9performance/improving-lay?= =?UTF-8?q?outs=E7=AB=A0=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hierarchy-linearlayout.png | Bin 0 -> 48561 bytes .../hierarchy-relativelayout.png | Bin 0 -> 46020 bytes SOURCE/performance/improving-layouts/index.md | 6 +-- .../improving-layouts/layout-listitem.png | Bin 0 -> 3554 bytes .../improving-layouts/optimizing-layout.md | 43 +++++++++--------- .../improving-layouts/reuse-layouts.md | 12 ++--- .../studio-inspections-config.png | Bin 0 -> 104566 bytes 7 files changed, 31 insertions(+), 30 deletions(-) create mode 100644 SOURCE/performance/improving-layouts/hierarchy-linearlayout.png create mode 100644 SOURCE/performance/improving-layouts/hierarchy-relativelayout.png create mode 100644 SOURCE/performance/improving-layouts/layout-listitem.png create mode 100644 SOURCE/performance/improving-layouts/studio-inspections-config.png diff --git a/SOURCE/performance/improving-layouts/hierarchy-linearlayout.png b/SOURCE/performance/improving-layouts/hierarchy-linearlayout.png new file mode 100644 index 0000000000000000000000000000000000000000..cac4caef0e2182a0393b97bbc8e9f6df604451b5 GIT binary patch literal 48561 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 EA6!2R1poj5 literal 0 HcmV?d00001 diff --git a/SOURCE/performance/improving-layouts/hierarchy-relativelayout.png b/SOURCE/performance/improving-layouts/hierarchy-relativelayout.png new file mode 100644 index 0000000000000000000000000000000000000000..b3408e58b9d8e5a433351c3415c9f7541807195c GIT binary patch literal 46020 zcmaHSW02@f*X`K0b;h=B+qP|6XKdTHea5zJ+nzhm`~APE>ZGbGolZKtcdwPK^;ce2 z3>FFt3IG5ARzh4@5dZ+t>$gxt0R7ffuLL9i9;lr~)SZPKO$?kZ>}&~?Eo@8xl+9fT z7#RtaOza65=@}RZ=vg_L89ABg325klH;1y1vEO#!&Jr>r;2V%=pwt{yb+AmoRgm`L z8cqNJ&`AFk!1*oT&)-TAGXWU^0D$^f=uZPs0Dwkp31Im}za=b>|F#}$rW5RxQG z{{ORkf-nEJ{XOeRQYaJ#lh@l_K|#TfjhHa@`Esq%=|r~rsdF^bJ}Wqe9gEp~woIWA z3?9#VRfaN|l9u-R294x!E(VvYqoV_6q3Q(pNQPZjPz(X{I6<~_VtiaQ2FKzx zrd?52fy1C5q!{5i4HDb0(NZ1??#rc8o3s|htC@fAxWE*|mre?)u61*7|BMc2%x;nfvhB-|QLgrr@8Oaju z{6TGP8Ujidi{=JCmNv&OO6J#8ZOG$@`R|OFJG`q_1gIt2c`IwXfTzlOCCXTrBL;Xc z9=}uf;6I@kZk8|CIvZY|fduAuR$H&b7vOL>^zLQ{!_l2?H@roqpW9@Tf{?gqoabeQ zF}&~Qf8UlH0k>=W*kC*FW0&^0J2=HRPENA=K8YOw%v_pa(KXf#{ULq%_0hfZs9mhG7N;m zW-?x_W~{#xk_Z*`tBX--?kP6nyPjK(k@4H3jBy)MB_M4)RioC@R5!KW-{(QPtGuZs zLX>#F=JB^=_HeuctH%TU0hv`l?x)5>CVE5xro2o_DZvjl%YLeYmfK4~Q3Y zm9@3GJs(f+4n|UwlB6?v3tMVpLK5SW)GZ^>U7C1_)*w$qW(rUcnC0WIMJN>q`yKH) zV`0gG=-(va$pUsQm$B5zq+7Ke=^A6G$_gn9W$9y$t`Sg+x*m7oWdNh4KT~j^G&;;_ z5dY-#tZ7E|M+!+w{!Wf|s}tFU)F8&}|GNnV1%uV-^jf7-8Th$qt*`rH>_2GA2-7G{ zJMM~-QHPF~D#_)y-8o?`hLO6e8f`c_yUY3H@(%`)mo)uwZWBf=AE#@*m#c_>L@`{IbhIL|)ZA8# zz&rx^o#zC+udEFD&$XJgI6r+;@4+&IHhq{yj|9M~+eLxcdF7hU^*2CDi=I$qcPRp( zwc|kz{4m4Clj(l13F|~a-7mzaoNE6^KcudCJHFqC*?(9A+83=^x~Wy16iu36)n z&&M;W_bKFvMA;5`;+V3kYRUL`i8PPv?Cw9%e6b!hpx!Rv^93yt#`?!QbiemaVLz_BO6?8lG?y>bGCMVkV%SreZIP(q0Ywr(}qs&f1I9g{t zlb*<)7tW0C@`;1?&w1E|v+HY5tB>b@LEvt#u4q*ZcldH;JLaQtgvUPWDmq;5qX
A44Vx+lTQN(fq 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 literal 0 HcmV?d00001 diff --git a/SOURCE/performance/improving-layouts/index.md b/SOURCE/performance/improving-layouts/index.md index ed68773e4..3f18e64c6 100644 --- a/SOURCE/performance/improving-layouts/index.md +++ b/SOURCE/performance/improving-layouts/index.md @@ -4,7 +4,7 @@ # 提升Layout的性能 -Layout 是 Android 应用中直接影响用户体验的关键部分。如果实现的不好,你的 Layout 会导致稍微费内存一点的程序变得非常卡顿。Android SDK 带有帮助你找到 Layout 性能问题的工具。使用它,你会用最小的内存空间实现流畅的 UI。 +Layout 是 Android 应用中直接影响用户体验的关键部分。如果实现的不好,你的 Layout 会导致程序非常占用内存并且 UI 缓慢。Android SDK 带有帮助你找到 Layout 性能问题的工具。结合本课内容使用它,你会用最小的内存空间实现流畅的 UI。 # 课程 @@ -15,7 +15,7 @@ Layout 是 Android 应用中直接影响用户体验的关键部分。如果实 #### [使用 标签重用 Layout](reuse-layouts.html) -如果你的程序 UI 在不同地方重复使用某个 Layout,那本节教你如何创建高效的,可重用的 Layout 部件,并把它们“包含”到 UI Layout 中。 +如果你的程序的 UI 在不同地方重复使用某个 Layout,那本节教你如何创建高效的,可重用的 Layout 部件,并把它们“包含”到 UI Layout 中。 #### [按需载入视图](loading-ondemand.html) @@ -23,4 +23,4 @@ Layout 是 Android 应用中直接影响用户体验的关键部分。如果实 #### [Making ListView Scrolling Smooth](smooth-scrolling.html) -如果你有一个包含复杂或者每个项 (item) 包含很多数据的 ListView ,那么上下滚动的性能可能会降低。本节给你一些关于如何把滚动变得更流畅的提示。 +如果你有一个每个列表项 (item) 都包含很多数据或者复杂数据的 ListView ,那么列表滚动的性能可能会降低。本节给你一些关于如何把滚动变得更流畅的提示。 diff --git a/SOURCE/performance/improving-layouts/layout-listitem.png b/SOURCE/performance/improving-layouts/layout-listitem.png new file mode 100644 index 0000000000000000000000000000000000000000..9cb241df6d4556dd476de7944c9a0e0a998d1b9a GIT binary patch literal 3554 zcmbVPXHXN0vJOQ^fIy^#A|;_Kpmgbk03jeKAV~3WM2Uyc1O$;@gAzp`5iAHu2vHCP zDbl1Wy+o38=)FXGZvsLt_syGm@9(`o_WQos-I?9lo&B+R+p88}E-@|u006c`o7n>Z zEQnK$0CJq7&wR1uDS-meEtxYx@43)nVfhADr88{>h4+V-n|EY6={&!Hu^sfU{rJuD5< z2?pA1baZkXhbh|E*W+`q{&Y4D2WAICnzVIr?l~OV>_Cxk_g*lBhHSixDhnJcFPK{$ zc?45L?>>Bf!Tad(67^wiqsC zo^JY%cU-SY4H^PuTF~t!d?V&Rp$q=x<1+}LHdT076GD(hc z5@!O3Ml0g5uA|1PiY>}Boj>ng8Q7rmBgh~C9WCKLajpF9i6Um5bF<0@igR3d6%aYz1q=o z)9k_&Uv=70O_@ygs_2rpgtuRJrDu4vtk~bff83n6mG6Hk=DoVKh~AYG^N=oZ0UOrr z*z)bn(M@$1Iw_Co_%>h9chS?zG5(b$!kUA01u>94J3l4s_&FAX4g{lD?7Gaz@#!Dp zhDFlVX$5eKkHXdGBIwt8I`2x;${xhM>M+UlE_{zS$gkl|!AqlyY7y3E{PfzrQEQE} zCL{k$s|l&)`?+BrT`}SAzmhbpS+SAT!Sgl_s->X)9ZNDFOi&{yKs6N9zb}wlsrX)1 zR2s?kL#UJ-rkXc(_!W%2B&{Z_feDV)Gz~0!$5B}u?kk7!TMex2UwM-IWpCxW1I3Q#)0g(QVVM>tMIS76 zRFGcSel3v45TdBiMr0Q1>gV@O!{2rtGVTo24K>*Xro1WlpA9YldL1*DFPo zNeojPNE5{whAJ-T%4aFX=agP-Wz2*YhTUCUq5rCpTM)}pP9GHRDx{ClzVXy9_1vMP zQLjNWuYZ5u=PLe5uq#mYfW}qIT;>jBHcioKZQxcUqshb384t&tSxJ-b6O#em#t_DWcL(^NvHq2QR#iic z8zrNrgOY>G&h`~7W?tp5XK5`^!R|mmBHJNE42DC1Jv_M5Mwaq%>@xu<@4sQoZX94dsE&MVdxaCt<6RfP2 zz)h}*9WFFE9Z?`!ff|_7)B`;t=xU2H`b1%=1F`U6-ej|oDLG<%pL24gul@izBbR3h z_)3V#;zJNLOYTCVyGX&MLWMvIn_pj;Dpo=#(G`j2$Y5zl+pXA)kUUlS@y#L?&@6L0 zg#QB&S%&ppain^fxl8b~l$+X2fyKDRZ|B2hy=)7I>a$F4AlmXU?s!)=f(02a`=n1j zt)jqs#p_QQC72RTT?db1wZlyy&~y?W;q#Ao+s}?%B7#Z^Y|69~gAEi&;I5K`Al}dN zJ=SGH3dEg}_PI1jD9X+4JFj%&pY74;t~{bUSdR@w4xG{o=WKyyB--YwmzonF6ex$H zZW?}~o3tz#rb%l`eoG?wuDrx&5J;DPJ!Xjk4tQDQ$l24%3`!La_7EP^D{hK71A$yHOT_EU1< zU@Ov~yI|R)v?N;L(DZA93WTHpliz_>v?Mk0d!K;^;s)9pN@PcX9eHHgypnlv;&2TJ{A;zbdoU00GZy6cTtTZxeP)VUipciBb_DNm z!fn|zywBL@KbXhLiLqKJ>aIx-v0f8M3ZD)+2H3>^P2?1g{z=lxiYXtf($Hy z4zNsYfe>j024*-yiasxLInLHQ4GWTX;Bd}6-QAWoTYL(Fqz$8qx+6Ui8YrkU$v)5` zPlcaN<32l%z(%$^zrkD2S=4t}ZBZ(j%}GfUR2>0+M1`C#s(eaQEM@dXhxGYA=x{7@ zwyDs&*>i{ePjcmh?4A|sIGL3Ls z!O!X1uM4Qk=||eug7H5Qa`$HiBxZ}aO@cnl8|%3wDeORhTw?Eyv;LT+Tp@fVF|sB! zy20MY0>6d~%U88?c_{_XWU~skad
  • CDxwhOv~FPgpoH~nRbTjUr~wT04R<>Qf^nqqu{6L@n?FKoEXp;qp>pI@(vzt7Fm zne@FBYVq2on40%h{tTxZpO&OV40bF2{-NWsP;@X&=r7{-8OU)lSY9cm|7y`?bavJ5 z&gWE3|K@Jk+x7Pyt6t3Oy;GjQM?1CqV&lvcrIOmiOrM5>Pd+7I*ACC! zt6Ti}rtvs?ePXMAJ&HLH^Q+mfYVzc}{#xC##ly*<^?Kum^%KsJ)sg!7=EssFN6#Ni zoh-^2M+8qcv`fa!biU6C4`*upFxuaqf6Hv;zSOYO{qj~Aqp7ImcxgB0aQ+sv`yBJ| z=S}~{?KhKk`xA}*3&xStc`|>^#T;r_^mZACY|hNSz*Rd~-J#exGC>MCLy`2(ZhOb$ znz5})q4yO|jC}{j{$Ted>uxCtrDxZ&f~ap7C;xcQ+)^s8TUshAIrv#sT)$Vl>|ee4 zgE1L4n7Y<*loJsXIeE-y@Y!cS$B@scqUr*Z7L{sv(jsupXm{ttGbd`VCg%6Sc4H{% zkWIXR$ubc=KmKr10KCns7iy#_`NBCM^x5z5-F6jF;37SIvsWRzPC294` z<6lG8C$^_dBlb_`rr#QEb^MSV-yiZwb-HV;p>ovv^3Ov?_oc@BQ~iU{T17|M4<{p- zlQH{J%!B52=0-c;d+mE;6^nUKwf!f`?k*2Jy);p|O1yHhKKN))LO*1!Zl$cdbtzI# zipjJFuMd|oQ@&muRcCUNvaTjOk8JzkwS_Scm7O>f|yV2;lu+>4ssx*YV>JiPg) z5>zvLv$bbBLZ46A3qtj6da=g_&o zH%;c;gIITs>zof^Qwg1HMS4|n zZ}v8pV!@FAt@D2s{{!{w-Pm40Ek_f_|7#*Gi5mc5GT8vvhxynG5-t~>4gp|ke$}iP H=^p/tools/` 中。当打开时,它显示一张可使用设备的列表,和它正在运行的组件。点击 __Load View Hierarchy__ 来查看所选组件的层级。比如,下图就是前一个图中所示 Layout 的层级关系。 +![](hierarchy-linearlayout.png) -![](http://developer.android.com/images/training/hierarchy-linearlayout.png) - -这张图中,你可以看到一个三层结构,其中在布置右下角的 TextView 的时候有问题。点击其中的项会显示每个步骤所花费的时间。这样,谁花了多长时间在什么哪个步骤上面,就清晰可见了。 +图中,你可以看到一个三层结构,其中右下角的 TextView 在布局的时候有问题。点击其中的项会显示每个步骤所花费的时间。这样,谁花了多长时间在什么哪个步骤上面,就清晰可见了。 ![](http://developer.android.com/images/training/hierarchy-layouttimes.png) 可以看到,渲染一个完整的列表项的时间就是: * 测量: 0.977ms -* 布置: 0.167ms +* 布局: 0.167ms * 绘制: 2.717ms ## 修正 Layout -因为上面的 Layout 性能太慢,原因在这个嵌套的 LinearLayout,解决的办法可能是将 Layout 层级变浅变宽,而不是又窄又深。RelativeaLayout 作为根节点时就可以达到目的。所以,当换成基于 RelativeLayout 的设计时,你的 Layout 变成了两层。新的 Layout 长成这样: +上面的 Layout 由于有这个嵌套的 LinearLayout 导致性能太慢,可能的解决办法是将 Layout 层级扁平化————变浅变宽,而不是又窄又深。RelativeaLayout 作为根节点时就可以达到目的。所以,当换成基于 RelativeLayout 的设计时,你的 Layout 变成了两层。新的 Layout 变成这样: -![](http://developer.android.com/images/training/hierarchy-relativelayout.png) +![](hierarchy-relativelayout.png) 现在渲染列表项的时间: * 测量: 0.598ms -* 布置: 0.110ms +* 布局: 0.110ms * 绘制: 2.146ms 可能看起来是很小的进步,但是由于它对列表中每个项都有效,这个时间要翻倍。 -更明显的性能差距,是当使用在 LinearLayout 中使用 `layout_weight` 的时候,因为会减慢“测量”的速度。这只是一个正确使用各种 Layout 的例子,当你使用 `layout_weight` 时一定要慎重。 +这个时间的主要差异是由于在 LinearLayout 中使用 `layout_weight` 所致,因为会减慢“测量”的速度。这只是一个正确使用各种 Layout 的例子,当你使用 `layout_weight` 时有必要慎重。 ## 使用 Lint -> 大部分叫做 lint 的编程工具,都是类似于代码规范的检测工具。比如JSLint,CSSLinkt, JSONLint 等等。译者注。 +> 大部分叫做 lint 的编程工具,都是代码规范的检测工具。比如JSLint,CSSLinkt, JSONLint 等等。译者注。 -经常运行 [Lint](http://tools.android.com/tips/lint) 工具来检查 Layout 可能的优化方法,是个很好的实践。Lint 已经取代了 Layoutopt 工具,它拥有更强大的功能。Lint 中包含的一些检测[规则](http://tools.android.com/tips/lint-checks)有: +运行 [Lint](http://tools.android.com/tips/lint) 工具来检查 Layout 可能的优化方法,是个很好的实践。Lint 已经取代了 Layoutopt 工具,它拥有更强大的功能。Lint 中包含的一些检测[规则](http://tools.android.com/tips/lint-checks)有: * 使用复合 drawable —— 用一个 drawable 替代一个包含 `ImageView` 和 `TextView` 的 `LinearLayout` 时会更有效率。 -* 合并根 frame —— 如果 `FrameLayout` 是 Layout 的根节点,并且没有使用padding 或者背景等,那么用 merge 标签替代他们会稍微高效些。 -* 没用的子节点 —— 一个没有子节点或者背景的 Layout 应该被去掉,来提高性能 -* 没用的父节点 —— 一个节点如果只有一个子节点,并且它不是 `ScrollView` 或根节点,并且它没有背景,这样的节点应该直接被子节点取代。 +* 合并根 frame —— 如果 `FrameLayout` 是 Layout 的根节点,并且没有使用 padding 或者背景等,那么用 merge 标签替代他们会稍微高效些。 +* 没用的子节点 —— 一个没有子节点或者背景的 Layout 应该被去掉,来获得更扁平的层级 +* 没用的父节点 —— 一个节点如果没有兄弟节点,并且它不是 `ScrollView` 或根节点,没有背景,这样的节点应该直接被子节点取代,来获得更扁平的层级 * 太深的 Layout —— Layout 的嵌套层数太深对性能有很大影响。尝试使用更扁平的 Layout ,比如 `RelativeLayout` 或 `GridLayout` 来提高性能。一般最多不超过10层。 -另一个使用 Lint 的好处就是,它内置于 ADT Eclipse (ADT16+)中。Lint 在你导出apk文件、编辑XML文件或使用 Layout 编辑器时会自动运行。手动强制运行 Lint,在 Eclipse 的工具栏中按这个: +另一个使用 Lint 的好处就是,它内置于 Android Studio 中。Lint 在你导编译程序时自动运行。Android Studio 中,你可以为单独的 build variant 或者所有 variant 运行 lint。 + +你也可以在 Android Studio 中管理检测选项,在 **File > Settings > Project Settings** 中。检测配置页面会显示支持的检测项目。 -![](http://developer.android.com/images/training/lint_icon.png) +![](studio-inspections-config.png) -当使用 Eclipse 的时候,Lint 有自动修复、提示建议和直接跳转到问题处的功能。如果你没有使用 Eclipse,你也可以通过命令行运行 Lint。更多信息,参见 [tools.android.com](http://tools.android.com/tips/lint)。 +Lint 有自动修复、提示建议和直接跳转到问题处的功能。 \ No newline at end of file diff --git a/SOURCE/performance/improving-layouts/reuse-layouts.md b/SOURCE/performance/improving-layouts/reuse-layouts.md index 3cc77e9bf..92cf37d5c 100644 --- a/SOURCE/performance/improving-layouts/reuse-layouts.md +++ b/SOURCE/performance/improving-layouts/reuse-layouts.md @@ -6,11 +6,11 @@ 虽然 Android 提供很多小的可重用的交互组件,你仍然可能需要重用复杂一点的组件,这也许会用到 Layout。为了高效重用整个的 Layout,你可以使用 `` 和 `` 标签把其他 Layout 嵌入当前 Layout。 -重用 Layout 非常强大,它让你可以创建复杂的可重用 Layout。比如,一个 yes/no 按钮面板,或者带有文字的自定义进度条。这还意味着,任何在多个 Layout 中重复出现的元素可以被提取出来,单独管理设计,再添加到 Layout 中。所以,当你要添加一个自定义 View 来实现单独的 UI 组件时,你可以更简单的直接重用某个 Layout 文件。 +重用 Layout 非常强大,它让你可以创建复杂的可重用 Layout。比如,一个 yes/no 按钮面板,或者带有文字的自定义进度条。这也意味着,任何在多个 Layout 中重复出现的元素可以被提取出来,被单独管理,再添加到 Layout 中。所以,虽然可以添加一个自定义 View 来实现单独的 UI 组件,你可以更简单的直接重用某个 Layout 文件。 ## 创建可重用 Layout -如果你已经知道你需要重用的 Layout,先创建以德新的 Layout XML 文件。比如,以下是一个来自 G-Kenya codelab 的 Layout,定义了一个需要添加到每个 Activity 中的标题栏(titlebar.xml): +如果你已经知道你需要重用的 Layout,就先创建一个新的 XML 文件并定义 Layout 。比如,以下是一个来自 G-Kenya codelab 的 Layout,定义了一个需要添加到每个 Activity 中的标题栏(titlebar.xml): ```xml ``` -根节点就是你想添加入的 Layout 类型。当需要显示这个标题栏时,就应该添加这个 Layout。 +根节点 View 就是你想添加入的 Layout 类型。 ## 使用 `` 标签 @@ -50,7 +50,7 @@ ``` -你也可以覆写被include元素的根元素的所有 Layout 参数(任何 android:layout_* 属性)。比如: +你也可以覆写被添加的 Layout 的所有 Layout 参数(任何 android:layout_* 属性),通过在 `` 中声明他们来完成。比如: ```xml ` 标签 -`` 标签在你嵌套 Layout 时取消了 UI 层级中冗余的 ViewGroup 。比如,如果你有一个 Layout 是一个竖直方向的 LinearLayout,其中包含两个连续的 View 可以在别的 Layout 中重用,那么你会做一个 LinearLayout 来包含这两个 View ,以便重用。不过,当使用另一个 LinearLayout 来嵌套这个可重用的 LinearLayout 时,这种嵌套 LinearLayout 的方式除了减慢你的 UI 性能外没有任何意义。 +`` 标签在你嵌套 Layout 时取消了 UI 层级中冗余的 ViewGroup 。比如,如果你有一个 Layout 是一个竖直方向的 LinearLayout,其中包含两个连续的 View 可以在别的 Layout 中重用,那么你会做一个 LinearLayout 来包含这两个 View ,以便重用。不过,当使用一个 LinearLayout 作为另一个 LinearLayout 的根节点时,这种嵌套 LinearLayout 的方式除了减慢你的 UI 性能外没有任何意义。 为了避免这种情况,你可以用 `` 元素来替代可重用 Layout 的根节点。例如: @@ -83,4 +83,4 @@ ``` -现在,当你要将这个 Layout 包含到另一个 Layout 中时(并且使用了 `` 标签),系统会直接把两个 Button 放到 Layout 中,而不会有多余的 Layout 被嵌套。 +现在,当你要将这个 Layout 包含到另一个 Layout 中时(并且使用了 `` 标签),系统会忽略 `` 标签,直接把两个 Button 放到 Layout 中 `` 的所在位置。 diff --git a/SOURCE/performance/improving-layouts/studio-inspections-config.png b/SOURCE/performance/improving-layouts/studio-inspections-config.png new file mode 100644 index 0000000000000000000000000000000000000000..e41afa16b519a901397969625083dea122530f5b GIT binary patch literal 104566 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

    NR>d?aDiwLw6s|B{wVRLM?fUux)WU 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 Ph4Dg8MYiaP(TD#7OW{wd literal 0 HcmV?d00001 From f1d912cffe35ee226be79dae76f5da64caad37e9 Mon Sep 17 00:00:00 2001 From: allenlsy Date: Mon, 9 Mar 2015 09:57:11 +0800 Subject: [PATCH 2/4] review --- material/get-started.md | 12 ++++++------ material/index.md | 2 +- material/lists-cards.md | 13 ++++++------- material/shadows-clipping.md | 6 ++++-- material/theme.md | 8 ++++---- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/material/get-started.md b/material/get-started.md index b604fe5e2..86638ca12 100644 --- a/material/get-started.md +++ b/material/get-started.md @@ -11,15 +11,15 @@ 5. 使用系统组件来创建列表和卡片 6. 自定义动画 -## 维护兼容性 +#### 维护兼容性 你可以添加 Material Design 特性,同时保持对 Android 5.0 之前版本的兼容。更多信息,请参见[维护兼容性章节](https://developer.android.com/training/material/compatibility.html)。 -## 使用 Material Design 更新现有应用 +#### 使用 Material Design 更新现有应用 要更新现有应用,使其使用 Material Design,你需要翻新你的 layout 文件来遵从 Material Design 标准,并确保其包含了正确的深度,触摸反馈和动画。 -## 使用 Material Design 创建新的应用 +#### 使用 Material Design 创建新的应用 如果你要创建使用 Material Design 的新的应用,Material Design 指南提供了一套跨平台统一的设计。请遵从指南,使用新功能来进行 Android 应用的设计和开发。 @@ -51,7 +51,7 @@ Material 主题提供了更新后的系统组件,使你可以设置调色板 ## 定义视图的 Elevation -视图可以投射阴影, elevation 值决定了阴影的大小和顺序。要设定 elevation 值,请使用 `android:elevation` 属性: +视图可以投射阴影, elevation 值决定了阴影的大小和绘制顺序。要设定 elevation 值,请使用 `android:elevation` 属性: ```xml 编写: [allenlsy](https://github.com/allenlsy) - 原文: -Material Design 是一个全面的关于视觉,动作和交互的指南,实现跨平台的设计。要在你的 Android 应用中使用 Material Design, 你需要遵从 Material Design 规格文档,并学习在 Android 5.0 中新添加的组件和功能。 +Material Design 是一个全面的关于视觉,动作和交互的指南,实现跨平台的设计。要在你的 Android 应用中使用 Material Design, 你需要遵从 [Material Design](http://www.google.com/design/spec/material-design/introduction.html) 规格文档,并学习在 Android 5.0 中新添加的组件和功能。 本课会通过以下方面教你如何创建 Material Design 设计的应用: diff --git a/material/lists-cards.md b/material/lists-cards.md index f26aabe1a..8cb68a9a9 100644 --- a/material/lists-cards.md +++ b/material/lists-cards.md @@ -2,7 +2,7 @@ > 编写: [allenlsy](https://github.com/allenlsy) - 原文: -要在应用中创建复杂的列表和使用 Material Design 的卡片列表,你可以使用 `RecyclerView` 和 `CardView`。 +要在应用中创建复杂的列表和使用 Material Design 的卡片列表,你可以使用 [`RecyclerView`](http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html) 和 [`CardView`](http://developer.android.com/reference/android/support/v7/widget/CardView.html)。 ## 创建列表 @@ -21,7 +21,7 @@ ![](list_mail.png) -Layout manager 给元素视图在 RecyclerView 中定位,并决定什么时候重用不在不可见的元素视图。要重用(或回收)视图,layout manager 会让 adapter 用另外的元素内容替换视图内的内容。回收 View 这个方法能提高性能,因为它避免了创建不必要的view对象,或执行昂贵的 `findViewById()` 查找。 +Layout manager 把元素视图放在 RecyclerView,并决定什么时候重用不在不可见的元素视图。要重用(或回收)视图时,layout manager 会让 adapter 用另外的元素内容替换视图内的内容。回收 View 这个方法能提高性能,因为它避免了创建不必要的view对象,或执行昂贵的 `findViewById()` 查找。 `RecyclerView` 提供这些内建的 layout manager: @@ -48,7 +48,7 @@ Layout manager 给元素视图在 RecyclerView 中定位,并决定什么时候 android:layout_height="match_parent"/> ``` -添加 RecycclerView 组件到Layout之后,获得一个到RecyclerView的对象,连接它到Layout manager,再附上 adapter用于数据显示: +添加 RecyclerView 组件到Layout之后,获得一个到RecyclerView的对象,连接它到Layout manager,再附上 adapter用于数据显示: ```java public class MyActivity extends Activity { @@ -78,8 +78,7 @@ public class MyActivity extends Activity { } ``` -Adapter 支持获取数据集元素,创建元素的视图,并可以将新元素的内容去替代不可见元素视图中的内容。以下代码展示了一个简单的实现,其中的数据集包含了一个字符串数组,元素用 TextView 显示: - +Adapter 支持获取数据集元素,创建元素的视图,并可以将新元素的内容去替代不可见元素视图中的内容。以下代码展示了一个简单的实现,其中的数据集包含了一个字符串数组,数据元素用 TextView 显示: ```java @@ -138,9 +137,9 @@ public class MyAdapter extends RecyclerView.Adapter { ![](card_travel.png) -CardView 继承于FrameLayout类,它可以在卡片中显示信息,并保持在不同平台上拥有统一的风格。CardView组件可以设定阴影和圆角。 +CardView 继承于 FrameLayout 类,它可以在卡片中显示信息,并保持在不同平台上拥有统一的风格。CardView组件可以设定阴影和圆角。 -创建一个带阴影的卡片,使用 `card_view:cardElevation` 属性。CardView 使用了Android 5.0 (API level 21)中的真是高度值以及动态阴影效果,在5.0一下的版本中有编程实现阴影想过的备选方案。更多内容,请参见保持兼容性章节。 +要创建一个带阴影的卡片,使用 `card_view:cardElevation` 属性。CardView 使用了Android 5.0 (API level 21)中的真是高度值以及动态阴影效果,在5.0一下的版本中有编程实现阴影想过的备选方案。更多内容,请参见保持兼容性章节。 使用以下属性来自定义CardView: diff --git a/material/shadows-clipping.md b/material/shadows-clipping.md index 9dd9bec8b..b326eacd2 100644 --- a/material/shadows-clipping.md +++ b/material/shadows-clipping.md @@ -4,12 +4,14 @@ Material Design 引入了UI元素深度的概念。深度可以帮助用户理解每个元素的不同重要性,让用户集中注意力做手头的工作。 -视图的elevation,用 Z 属性来表示,它决定了阴影的大小:更大的 Z 值可以投射出更大的阴影。视图只会把阴影投射到 Z=0 的平面上;他们不会把阴影投射到介于自己和 Z=0 平面之间的视图上。 +视图的elevation,用 Z 属性来表示,它决定了阴影的大小:更大的 Z 值可以投射出更大更柔软的阴影。Z 值较大的视图会遮盖住Z值较小的视图。不过,Z值大小不会影响视图的大小。 -Z 值较大的视图会遮盖住Z值较小的视图。不过,Z值大小不会影响视图的大小。 +阴影是由被投射视图的上级视图来完成绘制,因此他受上级视图影响,附着在上级视图上。 Elevation对于创建临时上升这种动画同样很有用。 +更多信息,请参见[3D空间中的对象](http://www.google.com/design/spec/what-is-material/objects-in-3d-space.html)。 + ## 給视图赋Elevation值 视图的 Z 值有两个组成部分,elevation 和 translation。elevation 是一个必须部分,translation 是用于动画的: diff --git a/material/theme.md b/material/theme.md index 73a2ef167..d8b62d08c 100644 --- a/material/theme.md +++ b/material/theme.md @@ -16,16 +16,16 @@ Material 主题被定义在: -* @android:style/Theme.Material (dark version) -* @android:style/Theme.Material.Light (light version) -* @android:style/Theme.Material.Light.DarkActionBar +* `@android:style/Theme.Material` (暗色版本) +* `@android:style/Theme.Material.Light` (亮色版本) +* `@android:style/Theme.Material.Light.DarkActionBar`

    ![](MaterialDark.png) ![](MaterialDark.png)

    -想知道可用的 Material style 的列表,可以在 API 文档中参见 R.style. +想知道可用的 Material style 的列表,可以在 API 文档中参见 [R.style](http://developer.android.com/reference/android/R.style.html). > 注意: Material 主题只支持 Android 5.0 (API level 21) 及以上版本。[v7 Support 库](https://developer.android.com/tools/support-library/features.html#v7)提供了一些组件的 Material Deisgn 样式,也支持自定义调色板。更多信息,请参见维护兼容性章节。 From 5f16e3865aa1f50592e4a599586bf2e07210e6d4 Mon Sep 17 00:00:00 2001 From: allenlsy Date: Tue, 10 Mar 2015 00:26:09 +0800 Subject: [PATCH 3/4] review --- material/animations.md | 30 +++++++++++++++--------------- material/compatibility.md | 22 ++++++++++++---------- material/drawables.md | 10 +++++----- material/get-started.md | 8 ++++---- material/index.md | 4 ++-- material/lists-cards.md | 16 ++++++++-------- material/shadows-clipping.md | 17 ++++++++++------- material/theme.md | 7 +++++-- 8 files changed, 61 insertions(+), 53 deletions(-) diff --git a/material/animations.md b/material/animations.md index 922afbda6..83b1de346 100644 --- a/material/animations.md +++ b/material/animations.md @@ -17,7 +17,7 @@ Material Design中的触摸反馈,是在用户与UI元素交互时,提供视 大多数情况下,你需要在你的 XML 文件中设定视图的背景来实现这个功能: * `?android:attr/selectableItemBackground` 用于有界Ripple动画 -* `?android:attr/selectableItemBackgroundBorderless` 用于越出视图边界的动画 +* `?android:attr/selectableItemBackgroundBorderless` 用于越出视图边界的动画。它会被绘制在最近的切不是全屏的父视图上。 > 注意:`selectableItemBackgroundBorderless` 是 API level 21 新加入的属性 @@ -25,7 +25,7 @@ Material Design中的触摸反馈,是在用户与UI元素交互时,提供视 你可以给`RippleDrawable`赋予一个颜色。要改变默认的触摸反馈颜色,使用主题的`android:colorControlHighlight` 属性。 -更多星系,参见`RippleDrawable`类的API文档。 +更多信息,参见`RippleDrawable`类的API文档。 ## 使用填充效果(Reveal Effect) @@ -51,7 +51,7 @@ Animator anim = anim.start(); ``` -要用此效果隐藏一个原本可见的视图 +要用此效果隐藏一个原本可见的视图: ```java // previously visible view @@ -85,12 +85,11 @@ anim.start(); ![Figure 1 - A transition with shared elements.](ContactsAnim.gif) - Material Design中的Activity切换,当不同Activity之间拥有共有元素,则可以通过不同状态之间的动画和形变提供视觉上的连续性。你可以为共有元素设定进入和退出Activity时的自定义动画。 -* 入场变换决定视图如何入场。比如,在*爆炸式入场*变换中,视图从场外飞到屏幕中央。 -* 出场变换决定视图如何退出。比如,在*爆炸式出场*变换中,视图从屏幕中央飞出场外。 -* 共有元素的变换决定一个共有视图在两个Activity之间如何变换。比如,如果两个activity有同一张图片,但是放在不同位置,以及拥有不同大小,*变更图片* 变换会流畅的把图片移到相应位置,同时缩放图片大小。 +* **入场变换**决定视图如何入场。比如,在*爆炸式入场*变换中,视图从场外飞到屏幕中央。 +* **出场变换**决定视图如何退出。比如,在*爆炸式出场*变换中,视图从屏幕中央飞出场外。 +* **共有元素的变换**决定一个共有视图在两个Activity之间如何变换。比如,如果两个activity有同一张图片,但是放在不同位置,以及拥有不同大小,*变更图片* 变换会流畅的把图片移到相应位置,同时缩放图片大小。 Android 5.0 (API level 21) 支持这些入场和退出变换: @@ -98,7 +97,7 @@ Android 5.0 (API level 21) 支持这些入场和退出变换: * 滑动 - 把视图从场景边缘移入或移出 * 淡入淡出 - 通过改变透明度添加或移除元素 -任何继承于 Visibility 类的变换,都支持被用于入场或退出变换。更多信息,请参见 `Transition` 类的API文档。 +任何继承于 [`Visibility`](http://developer.android.com/reference/android/transition/Visibility.html) 类的变换,都支持被用于入场或退出变换。更多信息,请参见 [`Transition`](http://developer.android.com/reference/android/transition/Transition.html) 类的API文档。 Android 5.0 (API level 21) 还支持这些共有元素变换效果: @@ -111,7 +110,7 @@ Android 5.0 (API level 21) 还支持这些共有元素变换效果: ![](SceneTransition.png) -## 自定义变换 +### 自定义变换 首先,当你继承Material主题的style时,要通过`android:windowContentTransitions`属性来开启窗口内容变换功能。你也可以在style定义中声明进入、退出和共有元素变换: @@ -167,7 +166,7 @@ getWindow().setExitTransition(new Explode()); 要尽早开始入场变换,可以在被调用的Activity上使用`Window.setAllowEnterTransitionOverlap()` 。它可以使你拥有更戏剧性的入场变换。 -## 使用变换开始一个Activity +### 使用变换开始一个Activity 如果你开启Activity入场和退出效果,那么当你在用如下方法开始Activity时,变换效果会被应用: @@ -178,7 +177,7 @@ startActivity(intent, 如果你为第二个Activity设定了入场变换,变换也会在activity开始时被启用。要在开始另一个acitivity时禁用变换,可以给bundle的选项提供一个`null`对象: -## 开始一个拥有共用元素的Activity +### 开始一个拥有共用元素的Activity 要在两个拥有共用元素的activity间进行变换动画: @@ -212,7 +211,9 @@ imgContainerView.setOnClickListener(new View.OnClickListener() { 对于用代码编写的共有动态视图,使用`View.setTransitionName()`方法来在两个activity中定义共有元素。 -## 开始一个拥有多个共有元素的Activity +要在第二个activity结束时进行逆向的场景变换动画,调用`Activity.finishAfterTransition()`方法,而不是`Activity.finish()`。 + +### 开始一个拥有多个共有元素的Activity 要在拥有多个共有元素的activity之间使用变换动画,就要用`android:transitionName`属性在两个layout中定义这个共有元素(或在两个Activity中使用`View.setTransitionName()`方法),再创建`ActivityOptions`对象: @@ -314,7 +315,6 @@ mAnimator.start(); ``` - ## 动画矢量 Drawables 矢量Drawable是可以无损缩放的。`AnimatedVectorDrawable`类是你可以操作矢量Drawable。 @@ -364,7 +364,7 @@ mAnimator.start(); ``` -动画的定义代表ObjectAnimator或者AnimatorSet对象。例子中第一个animator将目标组旋转了360度。 +动画的定义代表`ObjectAnimator`或者`AnimatorSet`对象。例子中第一个animator将目标组旋转了360度。 ```xml @@ -389,4 +389,4 @@ mAnimator.start(); ``` -更多信息,请参考AnimatedVectorDrawable的API指南。 +更多信息,请参考`AnimatedVectorDrawable`的API指南。 diff --git a/material/compatibility.md b/material/compatibility.md index 232c286ed..df9862ef1 100644 --- a/material/compatibility.md +++ b/material/compatibility.md @@ -4,7 +4,7 @@ 有些Material Design特性,比如主题和自定义Activits切换效果等,只在Android 5.0 (API level 21) 以上中可用。不过,你仍然可以使用这些特性实现Material Design,并保持对旧版本Android 系统的兼容。 -## 定义后备Style +## 定义备选Style 你可以配置你的应用,在支持Material Design的设备上使用Material主题,在旧版本Android上使用旧的主题: @@ -12,13 +12,13 @@ 2. 在`res/values-v21/styles.xml`中定义一个同名的主题,继承自Material 主题 3. 在`AndroidManifest.xml`中,将这个主题设置为应用的主题 -> 注意:如果你的应用设置了一个主题,但是没有提供后备Style,你可能无法在低于Android 5.0版本的系统中运行应用。 +> 注意:如果你的应用设置了一个主题,但是没有提供备选Style,你可能无法在低于Android 5.0版本的系统中运行应用。 -## 提供后备layout +## 提供layout -如果你根据Material Design设计的应用的Layout中没有使用任何Android 5.0 (API level 21)中新的XML属性,他们在旧版本Android中就能正常工作。否则,你要提供后备Layout。你可以在后备Layout中定义你的应用在旧版本系统中的界面。 +如果你根据Material Design设计的应用的Layout中没有使用任何Android 5.0 (API level 21)中新的XML属性,他们在旧版本Android中就能正常工作。否则,你要提供备选Layout。你可以在备选Layout中定义你的应用在旧版本系统中的界面。 -在`res/layout-v21/`中定义Android 5.0 (API level 21) 以上系统的Layout,在`res/layout`中定义早前版本Android的Layout。比如,`res/layout/my_activity.xml`是对于`res/layout-v21/my_activity.xml`的一个后备Layout。 +在`res/layout-v21/`中定义Android 5.0 (API level 21) 以上系统的Layout,在`res/layout`中定义早前版本Android的Layout。比如,`res/layout/my_activity.xml`是对于`res/layout-v21/my_activity.xml`的一个备选Layout。 为了避免代码重复,在`res/values`中定义style,然后在`res/values-v21`中修改新API需要的style。使用style的继承,在`res/values/`中定义父style,在`res/values-v21/`中继承。 @@ -26,14 +26,15 @@ [v7 support libraries r21](https://developer.android.com/tools/support-library/features.html#v7) 及更高版本包含了以下Material Design 特性: +* 当你应用一个 `Theme.AppCompat` 主题时, 会得到为一些系统控件准备的 Material Design style * `Theme.AppCompat`主题包含调色板主体属性 -* `RecyclerView`组件用于显示数据集 -* `CardView`组件用于创建卡片 -* `Palette`类用于从图片提取主色调 +* `RecyclerView` 组件用于显示数据集 +* `CardView` 组件用于创建卡片 +* `Palette` 类用于从图片提取主色调 ### 系统组件 -`Theme.AppCompat`主题中提供了这些组件的Material Design style: +`Theme.AppCompat` 主题中提供了这些组件的 Material Design style: * EditText * Spinner @@ -41,7 +42,8 @@ * RadioButton * SwitchCompat * CheckedTextView -* Color Palette + +### 调色板 要获取Material Design style,并用v7 support library自定义调色板,就要应用以下中的一个Theme.AppCompat主题: diff --git a/material/drawables.md b/material/drawables.md index bcef41766..be0465698 100644 --- a/material/drawables.md +++ b/material/drawables.md @@ -4,7 +4,7 @@ ## 使用Drawable -以下这些drawable的特性,能帮助你在应用中实现Material Design: +以下这些drawable的功能,能帮助你在应用中实现Material Design: * Drawable染色 * 提取主色调 @@ -16,11 +16,11 @@ 使用 Android 5.0 (API level 21)以上版本,你可以使用alpha mask(透明度图层,译者注)给位图和nine patches图片染色。你可以用颜色Resource或者主题属性来获取颜色(比如,`?android:attr/colorPrimary`)。通常,你只需要创建一次这些颜色asset,便可以在主题中自动匹配这些颜色。 -你可以用`setTint()`方法将一种染色方式应用到BitmapDrawable或者NinePatchDrawable对象。你也在layout中使用`android:tint`和`android:initMode`属性设置tint color和模式。 +你可以用`setTint()`方法将一种染色方式应用到`BitmapDrawable`或者`NinePatchDrawable`对象。你也在layout中使用`android:tint`和`android:initMode`属性设置染色的颜色和模式。 ## 从图片中提取主色调 -Android Support Library v21及更高版本带有Palatte类,可以让你从图片中提取主色调。这个类可以提取以下颜色: +Android Support Library v21及更高版本带有`Palatte`类,可以让你从图片中提取主色调。这个类可以提取以下颜色: * Vibrant: 亮色 * Vibrant dark: 深亮色 @@ -42,7 +42,7 @@ dependencies { } ``` -更多信息,请参见Palette类的API文档。 +更多信息,请参见[Palette](http://developer.android.com/reference/android/support/v7/graphics/Palette.html)类的API文档。 ## 创建矢量drawable @@ -73,4 +73,4 @@ dependencies { ``` -矢量图片在Android中用`VectorDrawable`对象来表示。更多关于`pathData`语法的信息,请看[SVG Path](http://www.w3.org/TR/SVG11/paths.html#PathData)的文档。更多关于矢量drawable动画的信息,请参见[矢量drawable动画](https://developer.android.com/training/material/animations.html#AnimVector)。 +矢量图片在Android中用[VectorDrawable](http://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html)对象来表示。更多关于`pathData`语法的信息,请看[SVG Path](http://www.w3.org/TR/SVG11/paths.html#PathData)的文档。更多关于矢量drawable动画的信息,请参见[矢量drawable动画](https://developer.android.com/training/material/animations.html#AnimVector)。 diff --git a/material/get-started.md b/material/get-started.md index 86638ca12..0cb1b70ee 100644 --- a/material/get-started.md +++ b/material/get-started.md @@ -6,7 +6,7 @@ 1. 学习 [Material Design 规格标准](http://www.google.com/design/spec/material-design/introduction.html) 2. 应用 Material Design 主题 -3. 创建遵从 Material Design 的 Layout 文件 +3. 创建符合 Material Design 的 Layout 文件 4. 定义视图的 elevation 值来修改阴影 5. 使用系统组件来创建列表和卡片 6. 自定义动画 @@ -17,7 +17,7 @@ #### 使用 Material Design 更新现有应用 -要更新现有应用,使其使用 Material Design,你需要翻新你的 layout 文件来遵从 Material Design 标准,并确保其包含了正确的深度,触摸反馈和动画。 +要更新现有应用,使其使用 Material Design,你需要翻新你的 layout 文件来遵从 Material Design 标准,并确保其包含了正确的元素高度,触摸反馈和动画。 #### 使用 Material Design 创建新的应用 @@ -37,7 +37,7 @@ ``` -Material 主题提供了更新后的系统组件,使你可以设置调色板和在触摸和 Activity 切换时使用默认的动画。更多信息,请参见 Material 主题章节。 +Material 主题提供了更新后的系统组件,使你可以设置调色板和在触摸和 Activity 切换时使用默认的动画。更多信息,请参见 [Material 主题](http://developer.android.com/training/material/theme.html) 章节。 ## 设计你的 Layouts @@ -69,7 +69,7 @@ Material 主题提供了更新后的系统组件,使你可以设置调色板 ## 创建列表和卡片 -[RecyclerView](http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html) 是一个植入性更强的 ListView,它支持不同的 layout 类型,并可以提升性能。CardView 使得你可以在卡片内显示一部分内容,并且和其他应用保持外观一致。以下是一段样例代码展示如何在 layout 中添加 CardView +[RecyclerView](http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html) 是一个植入性更强的 ListView,它支持不同的 layout 类型,并可以提升性能。[CardView](http://developer.android.com/reference/android/support/v7/widget/CardView.html) 使得你可以在卡片内显示一部分内容,并且和其他应用保持外观一致。以下是一段样例代码展示如何在 layout 中添加 CardView ```xml 编写: [allenlsy](https://github.com/allenlsy) - 原文: -Material Design 是一个全面的关于视觉,动作和交互的指南,实现跨平台的设计。要在你的 Android 应用中使用 Material Design, 你需要遵从 [Material Design](http://www.google.com/design/spec/material-design/introduction.html) 规格文档,并学习在 Android 5.0 中新添加的组件和功能。 +Material Design 是一个全面的关于视觉,动作和交互的指南,实现跨平台的设计。要在你的 Android 应用中使用 Material Design, 你需要遵从 [Material Design](http://www.google.com/design/spec/material-design/introduction.html) 规格文档,来使用 Android 5.0 中新添加的组件和功能。 本课会通过以下方面教你如何创建 Material Design 设计的应用: @@ -12,7 +12,7 @@ Material Design 是一个全面的关于视觉,动作和交互的指南,实 * 矢量 drawable * 自定义动画 -本课还将告诉你在使用 Material Design 时如何兼容 Android 5.0 (API level 21) 之前的版本 +本课还将告诉你在使用 Material Design 时如何兼容 Android 5.0 (API level 21) 之前的版本。 # 课程 diff --git a/material/lists-cards.md b/material/lists-cards.md index 8cb68a9a9..18aa96c7b 100644 --- a/material/lists-cards.md +++ b/material/lists-cards.md @@ -11,7 +11,7 @@ `RecyclerView` 通过以下方式简化显示流程,并操作大量数据: * 使用 Layout manager 来定位元素 -* 常用操作的默认动画,比如添加或移除元素 +* 为常用操作定义默认动画,比如添加或移除元素 你也可以为 RecyclerView 自定义 Layout manager 和动画。 @@ -21,9 +21,9 @@ ![](list_mail.png) -Layout manager 把元素视图放在 RecyclerView,并决定什么时候重用不在不可见的元素视图。要重用(或回收)视图时,layout manager 会让 adapter 用另外的元素内容替换视图内的内容。回收 View 这个方法能提高性能,因为它避免了创建不必要的view对象,或执行昂贵的 `findViewById()` 查找。 +Layout manager 把元素视图放在 RecyclerView,并决定什么时候重用不可见的元素视图。要重用(或回收)视图时,layout manager 会让 adapter 用另外的元素内容替换视图内的内容。回收 View 这个方法能提高性能,因为它避免了创建不必要的view对象,或执行昂贵的 `findViewById()` 查找。 -`RecyclerView` 提供这些内建的 layout manager: +`RecyclerView` 提供以下内建的 layout manager: * `LinearLayoutManager` 用于显示横向或纵向的滚动列表 * `GridLayoutManager` 用于显示方格元素 @@ -33,11 +33,11 @@ Layout manager 把元素视图放在 RecyclerView,并决定什么时候重用 ## 动画 -添加和删除元素的动画在RecyclerView中是默认被启用的。要自定义动画,你需要继承`RecyclerView.ItemAnimator` 类,使用`RecyclerView.setItemAnimator()`方法。 +添加和删除元素的动画在 RecyclerView 中是默认被启用的。要自定义动画,你需要继承`RecyclerView.ItemAnimator` 类,使用`RecyclerView.setItemAnimator()`方法。 ### 例子 -以下代码示例了如何添加RecyclerView 到一个Layout: +以下代码示例了如何添加 RecyclerView 到一个 Layout : ```xml @@ -48,7 +48,7 @@ Layout manager 把元素视图放在 RecyclerView,并决定什么时候重用 android:layout_height="match_parent"/> ``` -添加 RecyclerView 组件到Layout之后,获得一个到RecyclerView的对象,连接它到Layout manager,再附上 adapter用于数据显示: +添加 RecyclerView 组件到Layout之后,获得一个到 RecyclerView 的对象,连接它到 Layout manager,再附上 adapter 用于数据显示: ```java public class MyActivity extends Activity { @@ -137,9 +137,9 @@ public class MyAdapter extends RecyclerView.Adapter { ![](card_travel.png) -CardView 继承于 FrameLayout 类,它可以在卡片中显示信息,并保持在不同平台上拥有统一的风格。CardView组件可以设定阴影和圆角。 +CardView 继承于 FrameLayout 类,它可以在卡片中显示信息,并保持在不同平台上拥有统一的风格。CardView 组件可以设定阴影和圆角。 -要创建一个带阴影的卡片,使用 `card_view:cardElevation` 属性。CardView 使用了Android 5.0 (API level 21)中的真是高度值以及动态阴影效果,在5.0一下的版本中有编程实现阴影想过的备选方案。更多内容,请参见保持兼容性章节。 +要创建一个带阴影的卡片,使用 `card_view:cardElevation` 属性。CardView 使用了Android 5.0 (API level 21)中的真实高度值以及动态阴影效果,在 5.0 以下的版本中有编程实现阴影的备选方案。更多内容,请参见保持兼容性章节。 使用以下属性来自定义CardView: diff --git a/material/shadows-clipping.md b/material/shadows-clipping.md index b326eacd2..0e1147f52 100644 --- a/material/shadows-clipping.md +++ b/material/shadows-clipping.md @@ -14,7 +14,10 @@ Elevation对于创建临时上升这种动画同样很有用。 ## 給视图赋Elevation值 -视图的 Z 值有两个组成部分,elevation 和 translation。elevation 是一个必须部分,translation 是用于动画的: +视图的 Z 值有两个组成部分: + +* elevation: 静态组成部分 +* translation: 动态部分,用于动画 Z = elevation + translationZ @@ -28,13 +31,13 @@ Z = elevation + translationZ 你也可以使用 StateListAnimator 来声明动画。这非常适用于要通过状态改变来触发动画的情况,比如当用户按下按钮。更多信息,请查看[Animate View State Changes(当视图状态变化的动画,译者注)](https://developer.android.com/training/material/animations.html#ViewState)。 -Z值和X,Y值的测量单位是一样的。 +Z值的计算单位是dp。 ## 自定义视图的阴影和轮廓 -视图背景的边界决定了阴影的形状。轮廓是一个图形对象的外围形状,决定了触摸反馈动画的ripple区域。 +视图背景的边界决定了阴影的形状。**轮廓**是一个图形对象的外围形状,决定了触摸反馈动画的ripple区域。 -考虑以下是个视图: +假设以下是个视图: ```xml ``` -这个视图会投影出圆角,因为这是背景drawble的轮廓。如果提供一个自定义的轮廓,会覆盖这个默认的阴影形状。 +这个视图会投影出圆角,因为背景drawble可以决定视图轮廓。如果提供一个自定义的轮廓,会覆盖这个默认的阴影形状。 以下方式可以自定义视图的轮廓: @@ -65,9 +68,9 @@ Z值和X,Y值的测量单位是一样的。 使用`Outline`类的函数,你可以创建椭圆和带圆角的矩形轮廓。视图的轮廓提供者会从视图的背景中获取轮廓。要避免视图投射阴影,你可以设置轮廓提供者为 null。 -## Clip 视图 +## Clipping 视图 -Clipping 视图使你轻松的改变视图的形状。附着视图可以是为了设计的一致性,也可以是为了当用户输入信息时,改变视图的形状。你可以通过`View.setClipToOutline()` 将视图附着给一个轮廓,或使用`android:clipToOutline`属性。只有矩形、原型和圆角矩形轮廓支持附着,你可以通过`Outlin.canClip()`方法来检查是否支持附着。 +Clipping 视图(附着视图,译者注)使你轻松的改变视图的形状。你可以为了一致性而附着视图,也可以是为了当用户输入信息时,改变视图的形状。你可以通过`View.setClipToOutline()` 将视图附着给一个轮廓,或使用`android:clipToOutline`属性。只有矩形、圆形和圆角矩形轮廓支持附着功能,你可以通过`Outlin.canClip()`方法来检查是否支持附着。 把视图附着给drawable的形状,要将这个drawable设置为视图的背景,并调用`View.setClipToOutline()` 方法。 diff --git a/material/theme.md b/material/theme.md index d8b62d08c..87475b44b 100644 --- a/material/theme.md +++ b/material/theme.md @@ -21,8 +21,11 @@ Material 主题被定义在: * `@android:style/Theme.Material.Light.DarkActionBar`

    + ![](MaterialDark.png) -![](MaterialDark.png) + +![](MaterialLight.png) +

    想知道可用的 Material style 的列表,可以在 API 文档中参见 [R.style](http://developer.android.com/reference/android/R.style.html). @@ -54,7 +57,7 @@ Material 主题使得你很容易自定义状态栏,你可以设定适合自 你也可以在状态栏的背景上绘画。比如,你想让位于照片之上的状态栏透明,并保留一点深色渐变以确保白色图标可见。这样的话,设定 `android:statusBarColor` 属性为 `@android:color/transparent` 并调整窗口的 Flag 标记。你也可以用 `Window.setStatusBarColor()` 来实现动画或淡入淡出。 -> 注意:状态栏必须随时保持和 primary toolbar (即顶部Actionbar,译者注) 的清晰界线。除了一种情况,在状态栏后面显示图片或媒体内容时,你需要用渐变色来确保前台图标仍然可见。 +> 注意:状态栏必须随时保持和 primary toolbar (即顶部Actionbar,译者注) 的界线清晰。除了一种情况,即在状态栏后面显示图片或媒体内容时之外,你都要用渐变色来确保前台图标仍然可见。 当你自定义导航栏和状态栏时,要么两者都透明,要么只修改状态栏。其他情况下,导航栏应该保持黑色。 From 4dcc1aedb1283b0ccf859b6e42f849f8e19fe2d9 Mon Sep 17 00:00:00 2001 From: allenlsy Date: Thu, 12 Mar 2015 06:35:16 +0800 Subject: [PATCH 4/4] review --- material/drawables.md | 1 - material/shadows-clipping.md | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/material/drawables.md b/material/drawables.md index be0465698..80efe8906 100644 --- a/material/drawables.md +++ b/material/drawables.md @@ -44,7 +44,6 @@ dependencies { 更多信息,请参见[Palette](http://developer.android.com/reference/android/support/v7/graphics/Palette.html)类的API文档。 - ## 创建矢量drawable 在Android 5.0 (API level 21)以上版本中,你可以定义矢量drawable,用于无损的拉伸图片。相对于一张普通图片需要为每个不同屏幕密度的设备提供一个图片来说,一个矢量图片只需要一个asset文件。要创建矢量图片,你可以在`` XML元素中定义形状。 diff --git a/material/shadows-clipping.md b/material/shadows-clipping.md index 0e1147f52..ed36cfd16 100644 --- a/material/shadows-clipping.md +++ b/material/shadows-clipping.md @@ -12,7 +12,7 @@ Elevation对于创建临时上升这种动画同样很有用。 更多信息,请参见[3D空间中的对象](http://www.google.com/design/spec/what-is-material/objects-in-3d-space.html)。 -## 給视图赋Elevation值 +## 给视图赋Elevation值 视图的 Z 值有两个组成部分: @@ -23,7 +23,7 @@ Z = elevation + translationZ ![](shadows-depth.png) -要在layout中设置视图的elevation,使用`android:elevation`属性。要在Activity代码中设置elevation,使用`View.setElevation()`方法。 +在layout中设置视图的elevation,要使用`android:elevation`属性。要在Activity代码中设置elevation,使用`View.setElevation()`方法。 要设置视图的translation,使用`View.setTranslationZ()`方法。 @@ -66,7 +66,7 @@ Z值的计算单位是dp。 2. 覆写 `getOutline()` 函数. 3. 用 `View.setOutlineProvider()` 方法来设定视图的轮廓提供者. -使用`Outline`类的函数,你可以创建椭圆和带圆角的矩形轮廓。视图的轮廓提供者会从视图的背景中获取轮廓。要避免视图投射阴影,你可以设置轮廓提供者为 null。 +使用`Outline`类的函数,你可以创建椭圆和带圆角的矩形轮廓。视图的轮廓提供者会从视图的背景中获取轮廓。如果不想让视图投射阴影,你可以设置轮廓提供者为 null。 ## Clipping 视图