pdk templates for docs
Change-Id: Ic1f780c0a8b62bf6e989dc4e1876e24e4cb6c179
|
@ -16,59 +16,6 @@ embed,object,applet {
|
|||
border: 0;
|
||||
}
|
||||
|
||||
.rebox {
|
||||
background:#daf3fc;
|
||||
margin-bottom:1.5em;
|
||||
-moz-border-radius:5px;
|
||||
-webkit-border-radius:5px;
|
||||
}
|
||||
.rebox.lil p img {
|
||||
display:block;
|
||||
margin-bottom:2em;
|
||||
}
|
||||
|
||||
.rebox .p {
|
||||
padding:1.5em;
|
||||
line-height:1.25em;
|
||||
}
|
||||
|
||||
.p-r {
|
||||
padding-right:1.5em;
|
||||
}
|
||||
|
||||
.rebox h2, .rebox h3 {
|
||||
font-size:16px;
|
||||
color:#fff;
|
||||
display:block;
|
||||
background:url('/assets/images/rebox-gradient.gif') no-repeat center bottom #95c0d0;
|
||||
padding:.5em .5em .5em .75em;
|
||||
-moz-border-radius-topright:5px;
|
||||
-moz-border-radius-topleft:5px;
|
||||
-webkit-border-top-right-radius:5px;
|
||||
-webkit-border-top-left-radius:5px;
|
||||
}
|
||||
|
||||
.rebox.lil {
|
||||
}
|
||||
.rebox.lil img {
|
||||
float:left;
|
||||
margin:0 1em 0 0;
|
||||
padding:0 0 3em 0;
|
||||
}
|
||||
|
||||
.rebox.green {
|
||||
background:#d4e9a9;
|
||||
}
|
||||
|
||||
.rebox.green h2, .rebox.green h3 {
|
||||
background:url('images/rebox-gradient-green.gif') no-repeat center bottom #aaca46;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.rebox.green a:link, .rebox.green a:visited {
|
||||
color:#360;
|
||||
}
|
||||
|
||||
/* BASICS */
|
||||
|
||||
html, body {
|
||||
|
@ -81,38 +28,38 @@ body {
|
|||
color:#000;
|
||||
font-size:13px;
|
||||
color:#333;
|
||||
background-image:url(images/bg_fade.jpg);
|
||||
background-image:url(images/bg_fade.jpg);
|
||||
background-repeat:repeat-x;
|
||||
}
|
||||
|
||||
a, a code {
|
||||
a, a code {
|
||||
color:#006699;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:active code {
|
||||
a:active code {
|
||||
color:#f00;
|
||||
}
|
||||
|
||||
a:visited,
|
||||
a:visited code {
|
||||
a:visited code {
|
||||
color:#006699;
|
||||
}
|
||||
|
||||
input, select,
|
||||
textarea, option {
|
||||
textarea, option, label {
|
||||
font-family:inherit;
|
||||
font-size:inherit;
|
||||
padding:0;
|
||||
margin:0;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
option {
|
||||
padding:0 4px;
|
||||
}
|
||||
|
||||
p {
|
||||
p, form {
|
||||
padding:0;
|
||||
margin:0 0 1em;
|
||||
}
|
||||
|
@ -160,7 +107,7 @@ dl {
|
|||
padding:0;
|
||||
}
|
||||
|
||||
dt {
|
||||
dt {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
@ -182,7 +129,9 @@ li pre, li table, li img {
|
|||
margin:.5em 0 0 1em;
|
||||
}
|
||||
|
||||
dd pre, dd table, dd img {
|
||||
dd pre,
|
||||
#jd-content dd table,
|
||||
#jd-content dd img {
|
||||
margin:1em 0 0 1em;
|
||||
}
|
||||
|
||||
|
@ -228,6 +177,10 @@ th {
|
|||
background-color:#dee8f1;
|
||||
}
|
||||
|
||||
td > p:last-child {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
hr.blue {
|
||||
background-color:#DDF0F2;
|
||||
border:none;
|
||||
|
@ -235,10 +188,16 @@ hr.blue {
|
|||
margin:20px 0 10px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1em 1em;
|
||||
padding: 0 4em 0 1em;
|
||||
border-left:2px solid #eee;
|
||||
}
|
||||
/* LAYOUT */
|
||||
|
||||
#body-content {
|
||||
/* "Preliminary" watermark for preview releases and interim builds.
|
||||
background:transparent url(images/preliminary.png) repeat scroll 0 0; */
|
||||
background:transparent url(images/preliminary.png) repeat scroll 0 0; */
|
||||
margin:0;
|
||||
position:relative;
|
||||
width:100%;
|
||||
|
@ -248,7 +207,7 @@ hr.blue {
|
|||
height: 114px;
|
||||
position:relative;
|
||||
z-index:100;
|
||||
min-width:576px;
|
||||
min-width:675px; /* min width for the tabs, before they wrap */
|
||||
padding:0 10px;
|
||||
border-bottom:3px solid #94b922;
|
||||
}
|
||||
|
@ -259,7 +218,6 @@ hr.blue {
|
|||
|
||||
#headerLeft img{
|
||||
height:50px;
|
||||
width:349px;
|
||||
}
|
||||
|
||||
#headerRight {
|
||||
|
@ -270,9 +228,10 @@ hr.blue {
|
|||
}
|
||||
|
||||
/* Tabs in the header */
|
||||
|
||||
#header ul {
|
||||
list-style: none;
|
||||
margin: 7px 0 0;
|
||||
margin: 7px 0 0;
|
||||
padding: 0;
|
||||
height: 29px;
|
||||
}
|
||||
|
@ -313,14 +272,13 @@ hr.blue {
|
|||
display:none;
|
||||
}
|
||||
|
||||
/* TAB HIGHLIGHTING */
|
||||
/* tab highlighting */
|
||||
|
||||
.home #home-link a,
|
||||
.community #community-link a,
|
||||
.porting #porting-link a,
|
||||
.source #source-link a,
|
||||
.about #about-link a,
|
||||
.downloads #downloads-link a,
|
||||
.compatibility #compatibility-link a,
|
||||
.guide #guide-link a,
|
||||
.reference #reference-link a,
|
||||
.sdk #sdk-link a,
|
||||
.resources #resources-link a,
|
||||
.videos #videos-link a {
|
||||
background-image: url(images/bg_images_sprite.png);
|
||||
background-position: 0 0;
|
||||
|
@ -331,14 +289,10 @@ hr.blue {
|
|||
}
|
||||
|
||||
.home #home-link a:hover,
|
||||
.community #community-link a:hover,
|
||||
.home #home-link a:hover,
|
||||
.community #community-link a:hover,
|
||||
.porting #porting-link a:hover,
|
||||
.source #source-link a:hover,
|
||||
.about #about-link a:hover,
|
||||
.downloads #downloads-link a:hover,
|
||||
.compatibility #compatibility-link a:hover,
|
||||
.guide #guide-link a:hover,
|
||||
.reference #reference-link a:hover,
|
||||
.sdk #sdk-link a:hover,
|
||||
.resources #resources-link a:hover,
|
||||
.videos #videos-link a:hover {
|
||||
background-image: url(images/bg_images_sprite.png);
|
||||
background-position: 0 0;
|
||||
|
@ -368,7 +322,7 @@ hr.blue {
|
|||
margin:15px 10px 0 0;
|
||||
}
|
||||
|
||||
/* main */
|
||||
/* MAIN BODY */
|
||||
|
||||
#mainBodyFluid {
|
||||
margin: 20px 10px;
|
||||
|
@ -391,7 +345,7 @@ hr.blue {
|
|||
}
|
||||
|
||||
#mainBodyFixed h2,
|
||||
#mainBodyFluid h2 {
|
||||
#mainBodyFluid h2 {
|
||||
color:#336666;
|
||||
font-size:1.25em;
|
||||
margin: 0;
|
||||
|
@ -399,7 +353,7 @@ hr.blue {
|
|||
}
|
||||
|
||||
#mainBodyFixed h1,
|
||||
#mainBodyFluid h1 {
|
||||
#mainBodyFluid h1 {
|
||||
color:#435A6E;
|
||||
font-size:1.7em;
|
||||
margin: 1em 0;
|
||||
|
@ -407,7 +361,7 @@ hr.blue {
|
|||
|
||||
#mainBodyFixed .green,
|
||||
#mainBodyFluid .green,
|
||||
#jd-content .green {
|
||||
#jd-content .green {
|
||||
color:#7BB026;
|
||||
background-color:none;
|
||||
}
|
||||
|
@ -415,13 +369,13 @@ hr.blue {
|
|||
#mainBodyLeft {
|
||||
float: left;
|
||||
width: 600px;
|
||||
margin-right: 20px;
|
||||
margin-right: 20px;
|
||||
color: #333;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
div.indent {
|
||||
margin-left: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 70px;
|
||||
}
|
||||
|
||||
|
@ -464,6 +418,10 @@ div.indent {
|
|||
text-align:left;
|
||||
}
|
||||
|
||||
#mainBodyRight td p {
|
||||
margin:0 0 1em 0;
|
||||
}
|
||||
|
||||
#mainBodyRight .blueBorderBox {
|
||||
border:5px solid #ddf0f2;
|
||||
padding:18px 18px 18px 18px;
|
||||
|
@ -493,7 +451,8 @@ div.indent {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
/* FOOTER */
|
||||
|
||||
#footer {
|
||||
float: left;
|
||||
width:90%;
|
||||
|
@ -521,99 +480,8 @@ div.indent {
|
|||
color:#006699;
|
||||
}
|
||||
|
||||
#homeBottom td {
|
||||
border:0px solid #666;
|
||||
padding: 8px 18px 8px 18px;
|
||||
}
|
||||
|
||||
#homeBottom table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
#homeBottom {
|
||||
padding: 0px 0px 0px 0px;
|
||||
float: left;
|
||||
width: 585px;
|
||||
height: 165px;
|
||||
background-image:url(images/home/bg_home_bottom.jpg);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.groupTable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.groupTable th {
|
||||
padding: 10px;
|
||||
color: #ffffff;
|
||||
background-color: #6D8293;
|
||||
border: 2px solid #fff;
|
||||
}
|
||||
|
||||
.groupTable td {
|
||||
padding: 10px;
|
||||
color: #333333;
|
||||
background-color: #d9d9d9;
|
||||
border: 2px solid #fff;
|
||||
}
|
||||
|
||||
.groupTable .evenRow td {
|
||||
background-color: #ededed;
|
||||
}
|
||||
|
||||
span.BigBlue {
|
||||
color:#336666;
|
||||
font-size:1.25em;
|
||||
margin: 0em 0em 0em 0em;
|
||||
padding-bottom:.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.emBlue {
|
||||
color: #336666;
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
.pageTable {
|
||||
width: 95%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.pageTable img {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.pageTable td {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.pageTable td.leftNav {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.greenBox {
|
||||
margin: 10px 30px 10px 30px;
|
||||
padding: 10px 20px 10px 20px;
|
||||
background-color: #EBF3DB;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.blueBox {
|
||||
margin: 10px 30px 10px 30px;
|
||||
padding: 10px 20px 10px 20px;
|
||||
background-color: #DDF0F2;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.blueHR {
|
||||
margin: 10px 30px 10px 30px;
|
||||
height: 5px;
|
||||
background-color: #DDF0F2;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
/* SEARCH FILTER */
|
||||
|
||||
#search_autocomplete {
|
||||
color:#aaa;
|
||||
}
|
||||
|
@ -658,7 +526,7 @@ vertical-align: bottom;
|
|||
padding-right: 6px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1px;
|
||||
font-size: .8em;
|
||||
font-size: 0.81em;
|
||||
border: none;
|
||||
margin: 0;
|
||||
line-height: 1.05em;
|
||||
|
@ -724,7 +592,7 @@ table.gsc-branding,
|
|||
|
||||
.gsc-cursor-box .gsc-cursor div.gsc-cursor-page,
|
||||
.gsc-cursor-box .gsc-trailing-more-results a.gsc-trailing-more-results,
|
||||
#leftSearchControl a,
|
||||
#leftSearchControl a,
|
||||
#leftSearchControl a b {
|
||||
color:#006699;
|
||||
}
|
||||
|
@ -780,6 +648,7 @@ td.gsc-search-button {
|
|||
#doc-content .gsc-tabHeader {
|
||||
padding: 3px 6px;
|
||||
position:relative;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
#doc-content .gsc-tabHeader.gsc-tabhActive {
|
||||
|
@ -800,7 +669,7 @@ td.gsc-search-button {
|
|||
padding: 0px 0px 0px 0px;
|
||||
float: left;
|
||||
width: 584px;
|
||||
height: 580px;
|
||||
height: 627px;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
|
@ -810,7 +679,7 @@ td.gsc-search-button {
|
|||
|
||||
#homeTitle {
|
||||
padding:15px 15px 0;
|
||||
height:30px;
|
||||
height:30px;
|
||||
}
|
||||
|
||||
#homeTitle h2 {
|
||||
|
@ -845,8 +714,8 @@ td.gsc-search-button {
|
|||
}
|
||||
|
||||
#carouselMain {
|
||||
background: url(images/home/bg_home_carousel_board.png) 0 0 no-repeat;
|
||||
height:auto;
|
||||
background: url(images/home/bg_home_carousel_board.png) 0 0 no-repeat;
|
||||
height:auto;
|
||||
padding: 25px 21px 0;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
|
@ -858,19 +727,19 @@ td.gsc-search-button {
|
|||
}
|
||||
|
||||
#carouselMain .bulletinDesc h3 {
|
||||
margin:0;
|
||||
padding:0;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
#carouselMain .bulletinDesc p {
|
||||
margin:0;
|
||||
padding:0.7em 0 0;
|
||||
margin:0;
|
||||
padding:0.7em 0 0;
|
||||
}
|
||||
|
||||
#carouselWheel {
|
||||
background: url(images/home/bg_home_carousel_wheel.png) 0 0 no-repeat;
|
||||
padding-top:40px;
|
||||
height:150px;
|
||||
background: url(images/home/bg_home_carousel_wheel.png) 0 0 no-repeat;
|
||||
padding-top:40px;
|
||||
height:150px;
|
||||
}
|
||||
|
||||
.clearer { clear:both; }
|
||||
|
@ -889,17 +758,17 @@ a#arrow-right {
|
|||
margin:35px 10px 0 0;
|
||||
}
|
||||
a.arrow-left-off,
|
||||
a#arrow-left.arrow-left-off:hover {
|
||||
a#arrow-left.arrow-left-off:hover {
|
||||
background-position:0 0;
|
||||
}
|
||||
a.arrow-right-off,
|
||||
a#arrow-right.arrow-right-off:hover {
|
||||
a.arrow-right-off,
|
||||
a#arrow-right.arrow-right-off:hover {
|
||||
background-position:-42px 0;
|
||||
}
|
||||
a#arrow-left:hover {
|
||||
a#arrow-left:hover {
|
||||
background-position:0 -42px;
|
||||
}
|
||||
a#arrow-right:hover {
|
||||
a#arrow-right:hover {
|
||||
background-position:-42px -42px;
|
||||
}
|
||||
a.arrow-left-on {
|
||||
|
@ -919,17 +788,17 @@ a.arrow-left-off {
|
|||
width:100%;
|
||||
}
|
||||
|
||||
div#list-clip {
|
||||
height:110px;
|
||||
div#list-clip {
|
||||
height:110px;
|
||||
width:438px;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
float:left;
|
||||
overflow:hidden;
|
||||
position:relative;
|
||||
float:left;
|
||||
}
|
||||
|
||||
div#app-list {
|
||||
left:0;
|
||||
z-index:1;
|
||||
div#app-list {
|
||||
left:0;
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
margin:11px 0 0;
|
||||
_margin-top:13px;
|
||||
|
@ -958,14 +827,14 @@ div#app-list {
|
|||
top:-4px;
|
||||
}
|
||||
|
||||
#app-list img {
|
||||
#app-list img {
|
||||
width:90px;
|
||||
height:70px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
#app-list a.selected,
|
||||
#app-list a:active.selected,
|
||||
#app-list a.selected,
|
||||
#app-list a:active.selected,
|
||||
#app-list a:hover.selected {
|
||||
background:#A4C639;
|
||||
color:#fff;
|
||||
|
@ -973,12 +842,12 @@ div#app-list {
|
|||
text-decoration:none;
|
||||
}
|
||||
|
||||
#app-list a:hover,
|
||||
#app-list a:hover,
|
||||
#app-list a:active {
|
||||
background:#ff9900;
|
||||
}
|
||||
|
||||
#app-list a:hover span,
|
||||
#app-list a:hover span,
|
||||
#app-list a:active span {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
@ -992,7 +861,7 @@ div#app-list {
|
|||
/*IE6*/
|
||||
* html #app-list a { zoom: 1; margin:0 24px 0 15px;}
|
||||
|
||||
* html #list-clip {
|
||||
* html #list-clip {
|
||||
width:430px !important;
|
||||
}
|
||||
|
||||
|
@ -1270,6 +1139,7 @@ ul.videoPreviews p.toggle a:hover {
|
|||
#mainBodyRight ul.videoPreviews h3 {
|
||||
padding:0;
|
||||
margin:0;
|
||||
font-size:100%;
|
||||
}
|
||||
|
||||
#mainBodyRight ul.videoPreviews a {
|
||||
|
@ -1287,11 +1157,40 @@ ul.videoPreviews p.toggle a:hover {
|
|||
}
|
||||
|
||||
#mainBodyRight ul.videoPreviews p {
|
||||
line-height:1.2em;
|
||||
line-height:1.2em;
|
||||
padding:0;
|
||||
margin:4px 0 0 130px;
|
||||
}
|
||||
|
||||
#mainBodyRight ul.videoPreviews img {
|
||||
margin-top:5px;
|
||||
margin-top:5px;
|
||||
}
|
||||
|
||||
/* Pretty printing styles. Used with prettify.js. */
|
||||
|
||||
.str { color: #080; }
|
||||
.kwd { color: #008; }
|
||||
.com { color: #800; }
|
||||
.typ { color: #606; }
|
||||
.lit { color: #066; }
|
||||
.pun { color: #660; }
|
||||
.pln { color: #000; }
|
||||
dl.tag-list dt code,
|
||||
.tag { color: #008; }
|
||||
dl.atn-list dt code,
|
||||
.atn { color: #828; }
|
||||
.atv { color: #080; }
|
||||
.dec { color: #606; }
|
||||
|
||||
@media print {
|
||||
.str { color: #060; }
|
||||
.kwd { color: #006; font-weight: bold; }
|
||||
.com { color: #600; font-style: italic; }
|
||||
.typ { color: #404; font-weight: bold; }
|
||||
.lit { color: #044; }
|
||||
.pun { color: #440; }
|
||||
.pln { color: #000; }
|
||||
.tag { color: #006; font-weight: bold; }
|
||||
.atn { color: #404; }
|
||||
.atv { color: #060; }
|
||||
}
|
||||
|
|
|
@ -34,10 +34,6 @@
|
|||
font-size:12px;
|
||||
}
|
||||
|
||||
#side-nav.not-resizable {
|
||||
background:url('images/sidenav-rule.png') no-repeat 243px 0;
|
||||
}
|
||||
|
||||
#resize-packages-nav {
|
||||
/* keeps the resize handle below the h-scroll handle */
|
||||
height:270px;
|
||||
|
@ -65,18 +61,19 @@
|
|||
}
|
||||
|
||||
#side-nav ul ul {
|
||||
margin: .35em 0 0 0;
|
||||
margin: .5em 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#side-nav li {
|
||||
padding:0;
|
||||
line-height:16px;
|
||||
white-space:nowrap;
|
||||
padding:1px 0 1px 0;
|
||||
zoom:1;
|
||||
}
|
||||
|
||||
#side-nav li span.heading,
|
||||
#side-nav li h2 {
|
||||
display:block;
|
||||
font-size:12px;
|
||||
font-weight: bold;
|
||||
margin:.5em 0 0 0;
|
||||
|
@ -84,6 +81,7 @@
|
|||
}
|
||||
|
||||
#side-nav li a {
|
||||
display: inline-block; /* needed to apply padding to line-wraps */
|
||||
text-decoration:none;
|
||||
padding: 0 0 0 18px;
|
||||
zoom:1;
|
||||
|
@ -385,6 +383,21 @@ div.api-level a {
|
|||
color:#999;
|
||||
}
|
||||
|
||||
div#deprecatedSticker {
|
||||
display:none;
|
||||
z-index:99;
|
||||
position:fixed;
|
||||
right:15px;
|
||||
top:114px;
|
||||
margin:0;
|
||||
padding:1em;
|
||||
background:#FFF;
|
||||
border:1px solid #dddd00;
|
||||
box-shadow:-5px 5px 10px #ccc;
|
||||
-moz-box-shadow:-5px 5px 10px #ccc;
|
||||
-webkit-box-shadow:-5px 5px 10px #ccc;
|
||||
}
|
||||
|
||||
div#naMessage {
|
||||
display:none;
|
||||
width:555px;
|
||||
|
@ -393,13 +406,16 @@ div#naMessage {
|
|||
}
|
||||
|
||||
div#naMessage div {
|
||||
z-index:99;
|
||||
width:450px;
|
||||
position:fixed;
|
||||
margin:50px 0;
|
||||
padding:4em 4em 3em;
|
||||
background:#FFF;
|
||||
background:rgba(255,255,255,0.7);
|
||||
border:1px solid #dddd00;
|
||||
box-shadow:-10px 10px 40px #888;
|
||||
-moz-box-shadow:-10px 10px 40px #888;
|
||||
-webkit-box-shadow:-10px 10px 40px #888;
|
||||
}
|
||||
/* IE6 can't position fixed */
|
||||
* html div#naMessage div { position:absolute; }
|
||||
|
@ -521,16 +537,24 @@ hr {
|
|||
}
|
||||
|
||||
#jd-content h3 {
|
||||
font-size:1.2em;
|
||||
color:#222;
|
||||
padding: .75em 0 .65em 0;
|
||||
margin:0;
|
||||
font-size:1.3em;
|
||||
color:#3a3a3a;
|
||||
padding: 0;
|
||||
margin: 1.5em 0 .65em 0;
|
||||
}
|
||||
|
||||
#jd-content h4 {
|
||||
font-size:1.1em;
|
||||
margin-bottom:.5em;
|
||||
color:#222;
|
||||
color:#3a3a3a;
|
||||
padding: 0;
|
||||
margin: 1.25em 0 .65em 0;
|
||||
}
|
||||
|
||||
#jd-content h5 {
|
||||
font-size:1.0em;
|
||||
color:#3a3a3a;
|
||||
padding: 0;
|
||||
margin: 1em 0 .65em 0;
|
||||
}
|
||||
|
||||
#jd-content .small-header {
|
||||
|
@ -553,7 +577,7 @@ hr {
|
|||
|
||||
#jd-content li img,
|
||||
#jd-content dd img {
|
||||
margin:.5em 0 0 1em;
|
||||
margin:.5em 0 .5em 1em;
|
||||
}
|
||||
|
||||
.nolist {
|
||||
|
@ -682,6 +706,18 @@ h5.jd-tagtitle {
|
|||
width:auto;
|
||||
}
|
||||
|
||||
div.design-announce {
|
||||
border-top:1px solid #33B5E5;
|
||||
border-bottom:1px solid #33B5E5;
|
||||
padding:5px 10px 10px 55px;
|
||||
margin:2em 0;
|
||||
background:url('images/icon_design.png') 5px 13px no-repeat;
|
||||
}
|
||||
|
||||
div.design-announce p {
|
||||
margin: .5em 0 0 0;
|
||||
}
|
||||
|
||||
div.special {
|
||||
padding: .5em 1em 1em 1em;
|
||||
margin: 0 0 1em;
|
||||
|
@ -692,22 +728,6 @@ div.special {
|
|||
-webkit-border-radius:5px;
|
||||
}
|
||||
|
||||
.toggle-content-toggleme {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.toggle-content-button {
|
||||
font-size:.9em;
|
||||
line-height:.9em;
|
||||
text-decoration:none;
|
||||
position:relative;
|
||||
top:5px;
|
||||
}
|
||||
|
||||
.toggle-content-button:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
div.special p {
|
||||
margin: .5em 0 0 0;
|
||||
}
|
||||
|
@ -730,39 +750,62 @@ div.special ol li {
|
|||
padding:0;
|
||||
}
|
||||
|
||||
p.note, p.caution, p.warning {
|
||||
#jd-content div.special.reference h2,
|
||||
#jd-content div.special.reference h3,
|
||||
#jd-content div.special.reference h4 {
|
||||
color:#000;
|
||||
font-size:1em;
|
||||
border:none;
|
||||
font-weight:bold;
|
||||
margin:.5em 0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
p.note, div.note,
|
||||
p.caution, div.caution,
|
||||
p.warning, div.warning {
|
||||
margin: 1em;
|
||||
padding: 0 0 0 .5em;
|
||||
border-left: 4px solid;
|
||||
}
|
||||
|
||||
p.special-note {
|
||||
p.special-note,
|
||||
div.special-note {
|
||||
background-color:#EBF3DB;
|
||||
padding:10px 20px;
|
||||
margin:0 0 1em;
|
||||
}
|
||||
|
||||
p.note {
|
||||
p.note,
|
||||
div.note {
|
||||
border-color: #99aacc;
|
||||
}
|
||||
|
||||
p.warning {
|
||||
p.warning,
|
||||
div.warning {
|
||||
border-color: #aa0033;
|
||||
}
|
||||
|
||||
p.caution {
|
||||
p.caution,
|
||||
div.caution {
|
||||
border-color: #ffcf00;
|
||||
}
|
||||
|
||||
p.warning b, p.warning strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
li p.note, li p.warning {
|
||||
li .note,
|
||||
li .caution,
|
||||
li .warning {
|
||||
margin: .5em 0 0 0;
|
||||
padding: .2em .5em .2em .9em;
|
||||
}
|
||||
|
||||
/* Makes sure the first paragraph does not add top-whitespace within the box*/
|
||||
li .note>p:first-child,
|
||||
li .caution>p:first-child,
|
||||
li .warning>p:first-child {
|
||||
margin-top:0;
|
||||
padding-top:0;
|
||||
}
|
||||
|
||||
dl.xml dt {
|
||||
font-variant:small-caps;
|
||||
font-size:1.2em;
|
||||
|
@ -791,13 +834,19 @@ ul.no-style {
|
|||
padding-left:1em;
|
||||
}
|
||||
|
||||
.new {
|
||||
.new,
|
||||
.new-child {
|
||||
font-size: .78em;
|
||||
font-weight: bold;
|
||||
color: #ff3d3d;
|
||||
text-decoration: none;
|
||||
vertical-align:top;
|
||||
line-height:.9em;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
.toggle-list.open .new-child {
|
||||
display:none;
|
||||
}
|
||||
|
||||
pre.classic {
|
||||
|
@ -832,6 +881,27 @@ p.table-caption {
|
|||
margin: 0 0 0.5em 1em; /* matches default table left-margin */
|
||||
}
|
||||
|
||||
|
||||
/* toggle for misc content (such as long sample code)
|
||||
see toggleContent() script in android-developer-docs.js */
|
||||
.toggle-content.closed .toggle-content-toggleme {
|
||||
display:none;
|
||||
}
|
||||
|
||||
.toggle-content a[href="#"] {
|
||||
text-decoration:none;
|
||||
color:inherit;
|
||||
}
|
||||
|
||||
.toggle-content-toggleme {
|
||||
padding-bottom:1px; /* fixes animation bounce due to margins */
|
||||
}
|
||||
|
||||
#jd-content .toggle-content img.toggle-content-img {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
|
||||
/* BEGIN quickview sidebar element styles */
|
||||
|
||||
#qv-wrapper {
|
||||
|
@ -894,20 +964,6 @@ p.table-caption {
|
|||
padding:0 10px;
|
||||
}
|
||||
|
||||
#qv-extra #rule {
|
||||
padding: 0 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#qv-sub-rule {
|
||||
padding: 6px 20px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#qv-sub-rule p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#jd-content #qv h2 {
|
||||
font-size:1.05em;
|
||||
font-weight:bold;
|
||||
|
@ -920,6 +976,21 @@ p.table-caption {
|
|||
z-index:1;
|
||||
}
|
||||
|
||||
#qv-extra #rule {
|
||||
padding: 0 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#qv-sub-rule {
|
||||
padding: 5px 15px 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#jd-content
|
||||
#qv-sub-rule h2 {
|
||||
margin: 0 0 .5em 0;
|
||||
}
|
||||
|
||||
/* END quickview sidebar element styles */
|
||||
|
||||
/* Begin sidebox sidebar element styles */
|
||||
|
@ -943,7 +1014,7 @@ p.table-caption {
|
|||
}
|
||||
|
||||
.sidebox p {
|
||||
margin-bottom: .25em;
|
||||
margin-bottom: .75em;
|
||||
}
|
||||
|
||||
.sidebox ul {
|
||||
|
@ -978,6 +1049,142 @@ padding:0 0 0 0em;
|
|||
|
||||
/* End sidebox sidebar element styles */
|
||||
|
||||
/* BEGIN developer training bar styles */
|
||||
|
||||
div#tb-wrapper {
|
||||
float: right;
|
||||
clear:right;
|
||||
width:380px; /* +25px padding = 405 */
|
||||
background-color:#fff;
|
||||
margin:0 0 2px 0;
|
||||
padding:0 0 20px 25px;
|
||||
}
|
||||
|
||||
div#tb {
|
||||
margin:0;
|
||||
padding:0 15px;
|
||||
width:350px; /* +15px padding = 380 */
|
||||
font-size:.9em;
|
||||
background:#e9e9e9;
|
||||
border:1px solid #aaa;
|
||||
border-radius:5px;
|
||||
-moz-border-radius:5px;
|
||||
-webkit-border-radius:5px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
div#tb h2 {
|
||||
font-size:1.3em;
|
||||
font-weight:bold;
|
||||
margin:1em 0;
|
||||
padding:0;
|
||||
background-color:transparent;
|
||||
border:none;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
div.download-box a.button {
|
||||
color: #069;
|
||||
font-size:1.1em;
|
||||
font-weight:bold;
|
||||
text-decoration:none;
|
||||
height:27px;
|
||||
line-height:27px;
|
||||
text-align:center;
|
||||
padding:5px 8px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
div.download-box a.button:hover {
|
||||
border-color: #09C;
|
||||
background-color: #4CADCB;
|
||||
background-image: -webkit-gradient(linear,left top,left bottom,from(#5dbcd9),to(#4cadcb));
|
||||
background-image: -webkit-linear-gradient(top,#5dbcd9,#4cadcb);
|
||||
background-image: -moz-linear-gradient(top,#5dbcd9,#4cadcb);
|
||||
background-image: -ms-linear-gradient(top,#5dbcd9,#4cadcb);
|
||||
background-image: -o-linear-gradient(top,#5dbcd9,#4cadcb);
|
||||
background-image: linear-gradient(top,#5dbcd9,#4cadcb);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9',EndColorStr='#4cadcb');
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
div.download-box a.button:active {
|
||||
background-color: #1E799A;
|
||||
background-image: none;
|
||||
border-color: #30B7E6;
|
||||
}
|
||||
|
||||
div.download-box p.filename {
|
||||
font-size:0.85em;
|
||||
color:#888;
|
||||
margin:4px 0 1em 10px;
|
||||
}
|
||||
|
||||
/* End developer training bar */
|
||||
|
||||
/* Training nav bar (previous/next) */
|
||||
|
||||
div.training-nav-top {
|
||||
float: right;
|
||||
width:380px; /* +25px padding = 405 */
|
||||
margin:-58px 0 0 0;
|
||||
padding:0 0 20px 25px;
|
||||
}
|
||||
|
||||
div.training-nav-bottom {
|
||||
padding:1px; /* for weird FF bug (scrollbar appears) */
|
||||
margin:3em 0;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
div.training-nav-button-next a,
|
||||
div.training-nav-button-previous a {
|
||||
display:block;
|
||||
width:160px;
|
||||
height:55px;
|
||||
padding:4px 7px;
|
||||
border:1px solid #aaa;
|
||||
border-radius:5px;
|
||||
-moz-border-radius:5px;
|
||||
-webkit-border-radius:5px;
|
||||
text-decoration:none;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
div.training-nav-button-next a:hover,
|
||||
div.training-nav-button-previous a:hover {
|
||||
border:1px solid #069; /* match link color */
|
||||
}
|
||||
|
||||
div.training-nav-button-next a:active,
|
||||
div.training-nav-button-previous a:active {
|
||||
border:1px solid #f00; /* match link color */
|
||||
}
|
||||
|
||||
div.training-nav-button-previous {
|
||||
float:left;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
div.training-nav-button-next {
|
||||
float:right;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
span.training-nav-button-title {
|
||||
display:block;
|
||||
font-size:.85em;
|
||||
font-weight:normal;
|
||||
line-height:1.3em;
|
||||
margin:.5em 0 0;
|
||||
}
|
||||
|
||||
/* End training nav bar */
|
||||
|
||||
/* BEGIN image and caption styles (originally for UI Guidelines docs) */
|
||||
|
||||
table.image-caption {
|
||||
|
@ -1054,7 +1261,7 @@ ol.toc li ol {
|
|||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
ol.toc li li {
|
||||
padding: 0;
|
||||
margin: 0 0 0 1em;
|
||||
|
@ -1181,6 +1388,76 @@ table.download th {
|
|||
float: right;
|
||||
}
|
||||
|
||||
/* 200px */
|
||||
.g-tpl-200 .g-unit,
|
||||
.g-unit .g-tpl-200 .g-unit,
|
||||
.g-unit .g-unit .g-tpl-200 .g-unit {
|
||||
display: block;
|
||||
margin: 0 0 0 200px;
|
||||
width: auto;
|
||||
float: none;
|
||||
}
|
||||
.g-unit .g-unit .g-tpl-200 .g-first,
|
||||
.g-unit .g-tpl-200 .g-first,
|
||||
.g-tpl-200 .g-first {
|
||||
display: block;
|
||||
margin: 0;
|
||||
width: 200px;
|
||||
float: left;
|
||||
}
|
||||
/* 200px alt */
|
||||
.g-tpl-200-alt .g-unit,
|
||||
.g-unit .g-tpl-200-alt .g-unit,
|
||||
.g-unit .g-unit .g-tpl-200-alt .g-unit {
|
||||
display: block;
|
||||
margin: 0 200px 0 0;
|
||||
width: auto;
|
||||
float: none;
|
||||
}
|
||||
.g-unit .g-unit .g-tpl-200-alt .g-first,
|
||||
.g-unit .g-tpl-200-alt .g-first,
|
||||
.g-tpl-200-alt .g-first {
|
||||
display: block;
|
||||
margin: 0;
|
||||
width: 200px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* 190px */
|
||||
.g-tpl-190 .g-unit,
|
||||
.g-unit .g-tpl-190 .g-unit,
|
||||
.g-unit .g-unit .g-tpl-190 .g-unit {
|
||||
display: block;
|
||||
margin: 0 0 0 190px;
|
||||
width: auto;
|
||||
float: none;
|
||||
}
|
||||
.g-unit .g-unit .g-tpl-190 .g-first,
|
||||
.g-unit .g-tpl-190 .g-first,
|
||||
.g-tpl-190 .g-first {
|
||||
display: block;
|
||||
margin: 0;
|
||||
width: 190px;
|
||||
float: left;
|
||||
}
|
||||
/* 190px alt */
|
||||
.g-tpl-190-alt .g-unit,
|
||||
.g-unit .g-tpl-190-alt .g-unit,
|
||||
.g-unit .g-unit .g-tpl-190-alt .g-unit {
|
||||
display: block;
|
||||
margin: 0 190px 0 0;
|
||||
width: auto;
|
||||
float: none;
|
||||
}
|
||||
.g-unit .g-unit .g-tpl-190-alt .g-first,
|
||||
.g-unit .g-tpl-190-alt .g-first,
|
||||
.g-tpl-190-alt .g-first {
|
||||
display: block;
|
||||
margin: 0;
|
||||
width: 190px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* 180px */
|
||||
.g-tpl-180 .g-unit,
|
||||
.g-unit .g-tpl-180 .g-unit,
|
||||
|
@ -1216,7 +1493,7 @@ table.download th {
|
|||
float: right;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* JQUERY RESIZABLE STYLES */
|
||||
.ui-resizable { position: relative; }
|
||||
.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; z-index:1; }
|
||||
|
@ -1252,7 +1529,7 @@ body .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
|||
#body-content {
|
||||
position:inherit;
|
||||
}
|
||||
|
||||
|
||||
#doc-content {
|
||||
margin-left:0 !important;
|
||||
height:auto !important;
|
||||
|
|
|
@ -10,7 +10,9 @@ var NAV_PREF_PANELS = "panels";
|
|||
var nav_pref;
|
||||
var toRoot;
|
||||
var isMobile = false; // true if mobile, so we can adjust some layout
|
||||
var isIE6 = false; // true if IE6
|
||||
|
||||
// TODO: use $(document).ready instead
|
||||
function addLoadEvent(newfun) {
|
||||
var current = window.onload;
|
||||
if (typeof window.onload != 'function') {
|
||||
|
@ -23,18 +25,26 @@ function addLoadEvent(newfun) {
|
|||
}
|
||||
}
|
||||
|
||||
var agent = navigator['userAgent'];
|
||||
if ((agent.indexOf("Mobile") != -1) ||
|
||||
(agent.indexOf("BlackBerry") != -1) ||
|
||||
(agent.indexOf("Mini") != -1)) {
|
||||
var agent = navigator['userAgent'].toLowerCase();
|
||||
// If a mobile phone, set flag and do mobile setup
|
||||
if ((agent.indexOf("mobile") != -1) || // android, iphone, ipod
|
||||
(agent.indexOf("blackberry") != -1) ||
|
||||
(agent.indexOf("webos") != -1) ||
|
||||
(agent.indexOf("mini") != -1)) { // opera mini browsers
|
||||
isMobile = true;
|
||||
addLoadEvent(mobileSetup);
|
||||
// If not a mobile browser, set the onresize event for IE6, and others
|
||||
} else if (agent.indexOf("msie 6") != -1) {
|
||||
isIE6 = true;
|
||||
addLoadEvent(function() {
|
||||
window.onresize = resizeAll;
|
||||
});
|
||||
} else {
|
||||
addLoadEvent(function() {
|
||||
window.onresize = resizeHeight;
|
||||
});
|
||||
}
|
||||
|
||||
addLoadEvent(function() {
|
||||
window.onresize = resizeAll;
|
||||
});
|
||||
|
||||
function mobileSetup() {
|
||||
$("body").css({'overflow':'auto'});
|
||||
$("html").css({'overflow':'auto'});
|
||||
|
@ -53,6 +63,11 @@ addLoadEvent( function() {
|
|||
document.getElementsByTagName("head")[0].appendChild(lists);
|
||||
} );
|
||||
|
||||
addLoadEvent( function() {
|
||||
$("pre:not(.no-pretty-print)").addClass("prettyprint");
|
||||
prettyPrint();
|
||||
} );
|
||||
|
||||
function setToRoot(root) {
|
||||
toRoot = root;
|
||||
// note: toRoot also used by carousel.js
|
||||
|
@ -60,8 +75,12 @@ function setToRoot(root) {
|
|||
|
||||
function restoreWidth(navWidth) {
|
||||
var windowWidth = $(window).width() + "px";
|
||||
content.css({marginLeft:parseInt(navWidth) + 6 + "px", //account for 6px-wide handle-bar
|
||||
width:parseInt(windowWidth) - parseInt(navWidth) - 6 + "px"});
|
||||
content.css({marginLeft:parseInt(navWidth) + 6 + "px"}); //account for 6px-wide handle-bar
|
||||
|
||||
if (isIE6) {
|
||||
content.css({width:parseInt(windowWidth) - parseInt(navWidth) - 6 + "px"}); // necessary in order for scrollbars to be visible
|
||||
}
|
||||
|
||||
sidenav.css({width:navWidth});
|
||||
resizePackagesNav.css({width:navWidth});
|
||||
classesNav.css({width:navWidth});
|
||||
|
@ -99,15 +118,15 @@ function readCookie(cookie) {
|
|||
}
|
||||
|
||||
function writeCookie(cookie, val, section, expiration) {
|
||||
if (!val) return;
|
||||
if (val==undefined) return;
|
||||
section = section == null ? "_" : "_"+section+"_";
|
||||
if (expiration == null) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
|
||||
expiration = date.toGMTString();
|
||||
}
|
||||
document.cookie = cookie_namespace+section+cookie+"="+val+"; expires="+expiration+"; path=/";
|
||||
}
|
||||
document.cookie = cookie_namespace + section + cookie + "=" + val + "; expires=" + expiration+"; path=/";
|
||||
}
|
||||
|
||||
function init() {
|
||||
$("#side-nav").css({position:"absolute",left:0});
|
||||
|
@ -117,20 +136,26 @@ function init() {
|
|||
sidenav = $("#side-nav");
|
||||
devdocNav = $("#devdoc-nav");
|
||||
|
||||
var cookiePath = "";
|
||||
if (location.href.indexOf("/reference/") != -1) {
|
||||
var cookiePath = "reference_";
|
||||
cookiePath = "reference_";
|
||||
} else if (location.href.indexOf("/guide/") != -1) {
|
||||
var cookiePath = "guide_";
|
||||
cookiePath = "guide_";
|
||||
} else if (location.href.indexOf("/sdk/") != -1) {
|
||||
cookiePath = "sdk_";
|
||||
} else if ((location.href.indexOf("/resources/") != -1) ||
|
||||
(location.href.indexOf("/training/") != -1)) {
|
||||
cookiePath = "resources_";
|
||||
}
|
||||
|
||||
if (!isMobile) {
|
||||
$("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizeHeight(); } });
|
||||
$(".side-nav-resizable").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
|
||||
$("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizePackagesHeight(); } });
|
||||
$("#side-nav").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
|
||||
var cookieWidth = readCookie(cookiePath+'width');
|
||||
var cookieHeight = readCookie(cookiePath+'height');
|
||||
if (cookieWidth) {
|
||||
restoreWidth(cookieWidth);
|
||||
} else if ($(".side-nav-resizable").length) {
|
||||
} else if ($("#side-nav").length) {
|
||||
resizeWidth();
|
||||
}
|
||||
if (cookieHeight) {
|
||||
|
@ -140,81 +165,224 @@ function init() {
|
|||
}
|
||||
}
|
||||
|
||||
if (devdocNav.length) { // only dev guide and sdk
|
||||
highlightNav(location.href);
|
||||
if (devdocNav.length) { // only dev guide, resources, and sdk
|
||||
tryPopulateResourcesNav();
|
||||
highlightNav(location.href);
|
||||
}
|
||||
}
|
||||
|
||||
function tryPopulateResourcesNav() {
|
||||
var sampleList = $('#devdoc-nav-sample-list');
|
||||
var articleList = $('#devdoc-nav-article-list');
|
||||
var tutorialList = $('#devdoc-nav-tutorial-list');
|
||||
var topicList = $('#devdoc-nav-topic-list');
|
||||
|
||||
if (!topicList.length || !ANDROID_TAGS || !ANDROID_RESOURCES)
|
||||
return;
|
||||
|
||||
var topics = [];
|
||||
for (var topic in ANDROID_TAGS['topic']) {
|
||||
topics.push({name:topic,title:ANDROID_TAGS['topic'][topic]});
|
||||
}
|
||||
topics.sort(function(x,y){ return (x.title < y.title) ? -1 : 1; });
|
||||
for (var i = 0; i < topics.length; i++) {
|
||||
topicList.append(
|
||||
$('<li>').append(
|
||||
$('<a>')
|
||||
.attr('href', toRoot + "resources/browser.html?tag=" + topics[i].name)
|
||||
.append($('<span>')
|
||||
.addClass('en')
|
||||
.html(topics[i].title)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
var _renderResourceList = function(tag, listNode) {
|
||||
var resources = [];
|
||||
var tags;
|
||||
var resource;
|
||||
var i, j;
|
||||
for (i = 0; i < ANDROID_RESOURCES.length; i++) {
|
||||
resource = ANDROID_RESOURCES[i];
|
||||
tags = resource.tags || [];
|
||||
var hasTag = false;
|
||||
for (j = 0; j < tags.length; j++)
|
||||
if (tags[j] == tag) {
|
||||
hasTag = true;
|
||||
break;
|
||||
}
|
||||
if (!hasTag)
|
||||
continue;
|
||||
resources.push(resource);
|
||||
}
|
||||
//resources.sort(function(x,y){ return (x.title.en < y.title.en) ? -1 : 1; });
|
||||
for (i = 0; i < resources.length; i++) {
|
||||
resource = resources[i];
|
||||
var listItemNode = $('<li>').append(
|
||||
$('<a>')
|
||||
.attr('href', toRoot + "resources/" + resource.path)
|
||||
.append($('<span>')
|
||||
.addClass('en')
|
||||
.html(resource.title.en)
|
||||
)
|
||||
);
|
||||
tags = resource.tags || [];
|
||||
for (j = 0; j < tags.length; j++) {
|
||||
if (tags[j] == 'new') {
|
||||
listItemNode.get(0).innerHTML += ' <span class="new">new!</span>';
|
||||
break;
|
||||
} else if (tags[j] == 'updated') {
|
||||
listItemNode.get(0).innerHTML += ' <span class="new">updated!</span>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
listNode.append(listItemNode);
|
||||
}
|
||||
};
|
||||
|
||||
_renderResourceList('sample', sampleList);
|
||||
_renderResourceList('article', articleList);
|
||||
_renderResourceList('tutorial', tutorialList);
|
||||
}
|
||||
|
||||
function highlightNav(fullPageName) {
|
||||
fullPageName = fullPageName.replace(/^https?:\/\//, '');
|
||||
var lastSlashPos = fullPageName.lastIndexOf("/");
|
||||
var firstSlashPos = fullPageName.indexOf("/");
|
||||
var firstSlashPos;
|
||||
if (fullPageName.indexOf("/guide/") != -1) {
|
||||
firstSlashPos = fullPageName.indexOf("/guide/");
|
||||
} else if (fullPageName.indexOf("/sdk/") != -1) {
|
||||
firstSlashPos = fullPageName.indexOf("/sdk/");
|
||||
} else if (fullPageName.indexOf("/resources/") != -1) {
|
||||
firstSlashPos = fullPageName.indexOf("/resources/");
|
||||
} else if (fullPageName.indexOf("/training/") != -1) {
|
||||
firstSlashPos = fullPageName.indexOf("/training/");
|
||||
}
|
||||
if (lastSlashPos == (fullPageName.length - 1)) { // if the url ends in slash (add 'index.html')
|
||||
fullPageName = fullPageName + "index.html";
|
||||
}
|
||||
var htmlPos = fullPageName.lastIndexOf(".html", fullPageName.length);
|
||||
var pathPageName = fullPageName.slice(firstSlashPos, htmlPos + 5);
|
||||
|
||||
// get the path and page name from the URL (such as 'guide/topics/graphics/index.html')
|
||||
var htmlPos = fullPageName.indexOf(".html");
|
||||
var pathPageName = fullPageName.slice(firstSlashPos, htmlPos + 5); // +5 advances past ".html"
|
||||
// find instances of the page name in the side nav
|
||||
var link = $("#devdoc-nav a[href$='"+ pathPageName+"']");
|
||||
if ((link.length == 0) && (fullPageName.indexOf("/guide/") != -1)) {
|
||||
// if there's no match, then let's backstep through the directory until we find an index.html page that matches our ancestor directories (only for dev guide)
|
||||
// if there's no match, then let's backstep through the directory until we find an index.html
|
||||
// page that matches our ancestor directories (only for dev guide and resources)
|
||||
if ((link.length == 0) && ((fullPageName.indexOf("/guide/") != -1) ||
|
||||
(fullPageName.indexOf("/resources/") != -1))) {
|
||||
lastBackstep = pathPageName.lastIndexOf("/");
|
||||
while (link.length == 0) {
|
||||
backstepDirectory = pathPageName.lastIndexOf("/", lastBackstep);
|
||||
link = $("#devdoc-nav a[href$='"+ pathPageName.slice(0, backstepDirectory + 1)+"index.html']");
|
||||
link = $("#devdoc-nav a[href$='"+ pathPageName.slice(0, backstepDirectory +
|
||||
1)+"index.html']");
|
||||
lastBackstep = pathPageName.lastIndexOf("/", lastBackstep - 1);
|
||||
if (lastBackstep == 0) break;
|
||||
}
|
||||
}
|
||||
|
||||
// add 'selected' to the <li> or <div> that wraps this <a>
|
||||
link.parent().addClass('selected');
|
||||
if (link.parent().parent().is(':hidden')) {
|
||||
toggle(link.parent().parent().parent(), false);
|
||||
} else if (link.parent().parent().hasClass('toggle-list')) {
|
||||
toggle(link.parent().parent(), false);
|
||||
|
||||
// if we're in a toggleable root link (<li class=toggle-list><div><a>)
|
||||
if (link.parent().parent().hasClass('toggle-list')) {
|
||||
toggle(link.parent().parent(), false); // open our own list
|
||||
// then also check if we're in a third-level nested list that's toggleable
|
||||
if (link.parent().parent().parent().is(':hidden')) {
|
||||
toggle(link.parent().parent().parent().parent(), false); // open the super parent list
|
||||
}
|
||||
}
|
||||
// if we're in a normal nav link (<li><a>) and the parent <ul> is hidden
|
||||
else if (link.parent().parent().is(':hidden')) {
|
||||
toggle(link.parent().parent().parent(), false); // open the parent list
|
||||
// then also check if the parent list is also nested in a hidden list
|
||||
if (link.parent().parent().parent().parent().is(':hidden')) {
|
||||
toggle(link.parent().parent().parent().parent().parent(), false); // open the super parent list
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function resizeHeight() {
|
||||
/* Resize the height of the nav panels in the reference,
|
||||
* and save the new size to a cookie */
|
||||
function resizePackagesHeight() {
|
||||
var windowHeight = ($(window).height() - HEADER_HEIGHT);
|
||||
var swapperHeight = windowHeight - 13;
|
||||
$("#swapper").css({height:swapperHeight + "px"});
|
||||
sidenav.css({height:windowHeight + "px"});
|
||||
content.css({height:windowHeight + "px"});
|
||||
var swapperHeight = windowHeight - 13; // move 13px for swapper link at the bottom
|
||||
resizePackagesNav.css({maxHeight:swapperHeight + "px"});
|
||||
classesNav.css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});
|
||||
|
||||
$("#swapper").css({height:swapperHeight + "px"});
|
||||
$("#packages-nav").css({height:parseInt(resizePackagesNav.css("height")) - 6 + "px"}); //move 6px for handle
|
||||
devdocNav.css({height:sidenav.css("height")});
|
||||
$("#nav-tree").css({height:swapperHeight + "px"});
|
||||
|
||||
|
||||
var basePath = getBaseUri(location.pathname);
|
||||
var section = basePath.substring(1,basePath.indexOf("/",1));
|
||||
writeCookie("height", resizePackagesNav.css("height"), section, null);
|
||||
}
|
||||
|
||||
/* Resize the height of the side-nav and doc-content divs,
|
||||
* which creates the frame effect */
|
||||
function resizeHeight() {
|
||||
var docContent = $("#doc-content");
|
||||
|
||||
// Get the window height and always resize the doc-content and side-nav divs
|
||||
var windowHeight = ($(window).height() - HEADER_HEIGHT);
|
||||
docContent.css({height:windowHeight + "px"});
|
||||
$("#side-nav").css({height:windowHeight + "px"});
|
||||
|
||||
var href = location.href;
|
||||
// If in the reference docs, also resize the "swapper", "classes-nav", and "nav-tree" divs
|
||||
if (href.indexOf("/reference/") != -1) {
|
||||
var swapperHeight = windowHeight - 13;
|
||||
$("#swapper").css({height:swapperHeight + "px"});
|
||||
$("#classes-nav").css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});
|
||||
$("#nav-tree").css({height:swapperHeight + "px"});
|
||||
|
||||
// Also resize the "devdoc-nav" div
|
||||
} else if ($("#devdoc-nav").length) {
|
||||
$("#devdoc-nav").css({height:sidenav.css("height")});
|
||||
}
|
||||
|
||||
// Hide the "Go to top" link if there's no vertical scroll
|
||||
if ( parseInt($("#jd-content").css("height")) <= parseInt(docContent.css("height")) ) {
|
||||
$("a[href='#top']").css({'display':'none'});
|
||||
} else {
|
||||
$("a[href='#top']").css({'display':'inline'});
|
||||
}
|
||||
}
|
||||
|
||||
/* Resize the width of the "side-nav" and the left margin of the "doc-content" div,
|
||||
* which creates the resizable side bar */
|
||||
function resizeWidth() {
|
||||
var windowWidth = $(window).width() + "px";
|
||||
var sidenav = $("#side-nav");
|
||||
if (sidenav.length) {
|
||||
var sidenavWidth = sidenav.css("width");
|
||||
} else {
|
||||
var sidenavWidth = 0;
|
||||
}
|
||||
content.css({marginLeft:parseInt(sidenavWidth) + 6 + "px", //account for 6px-wide handle-bar
|
||||
width:parseInt(windowWidth) - parseInt(sidenavWidth) - 6 + "px"});
|
||||
content.css({marginLeft:parseInt(sidenavWidth) + 6 + "px"}); //account for 6px-wide handle-bar
|
||||
|
||||
if (isIE6) {
|
||||
content.css({width:parseInt(windowWidth) - parseInt(sidenavWidth) - 6 + "px"}); // necessary in order to for scrollbars to be visible
|
||||
}
|
||||
|
||||
resizePackagesNav.css({width:sidenavWidth});
|
||||
classesNav.css({width:sidenavWidth});
|
||||
$("#packages-nav").css({width:sidenavWidth});
|
||||
|
||||
var basePath = getBaseUri(location.pathname);
|
||||
var section = basePath.substring(1,basePath.indexOf("/",1));
|
||||
writeCookie("width", sidenavWidth, section, null);
|
||||
|
||||
if (sidenav.length) { // Must check if the nav exists because IE6 calls resizeWidth() from resizeAll() for all pages
|
||||
var basePath = getBaseUri(location.pathname);
|
||||
var section = basePath.substring(1,basePath.indexOf("/",1));
|
||||
section = section.indexOf("training") != -1 ? "resources" : section;
|
||||
writeCookie("width", sidenavWidth, section, null);
|
||||
}
|
||||
}
|
||||
|
||||
/* For IE6 only,
|
||||
* because it can't properly perform auto width for "doc-content" div,
|
||||
* avoiding this for all browsers provides better performance */
|
||||
function resizeAll() {
|
||||
if (!isMobile) {
|
||||
resizeHeight();
|
||||
if ($(".side-nav-resizable").length) {
|
||||
resizeWidth();
|
||||
}
|
||||
}
|
||||
resizeHeight();
|
||||
resizeWidth();
|
||||
}
|
||||
|
||||
function getBaseUri(uri) {
|
||||
|
@ -262,11 +430,13 @@ $(window).unload(function(){
|
|||
writeCookie("lastpage", path, "reference", null);
|
||||
} else if (path.indexOf("/guide/") != -1) {
|
||||
writeCookie("lastpage", path, "guide", null);
|
||||
} else if ((path.indexOf("/resources/") != -1) || (path.indexOf("/training/") != -1)) {
|
||||
writeCookie("lastpage", path, "resources", null);
|
||||
}
|
||||
});
|
||||
|
||||
function toggle(obj, slide) {
|
||||
var ul = $("ul", obj);
|
||||
var ul = $("ul:first", obj);
|
||||
var li = ul.parent();
|
||||
if (li.hasClass("closed")) {
|
||||
if (slide) {
|
||||
|
@ -288,7 +458,7 @@ function toggle(obj, slide) {
|
|||
function buildToggleLists() {
|
||||
$(".toggle-list").each(
|
||||
function(i) {
|
||||
$("div", this).append("<a class='toggle-img' href='#' title='show pages' onClick='toggle(this.parentNode.parentNode, true); return false;'></a>");
|
||||
$("div:first", this).append("<a class='toggle-img' href='#' title='show pages' onClick='toggle(this.parentNode.parentNode, true); return false;'></a>");
|
||||
$(this).addClass("closed");
|
||||
});
|
||||
}
|
||||
|
@ -339,63 +509,37 @@ function scrollIntoView(nav) {
|
|||
if (navObj.is(':visible')) {
|
||||
var selected = $(".selected", navObj);
|
||||
if (selected.length == 0) return;
|
||||
if (selected.is("div")) selected = selected.parent();
|
||||
if (selected.is("div")) selected = selected.parent(); // when the selected item is a parent
|
||||
|
||||
var scrolling = document.getElementById(nav);
|
||||
var navHeight = navObj.height();
|
||||
var offsetTop = selected.position().top;
|
||||
if (selected.parent().parent().is(".toggle-list")) offsetTop += selected.parent().parent().position().top;
|
||||
if(offsetTop > navHeight - 92) {
|
||||
scrolling.scrollTop = offsetTop - navHeight + 92;
|
||||
|
||||
// handle nested items
|
||||
if (selected.parent().parent().is(".toggle-list")) {
|
||||
selected = selected.parent().parent();
|
||||
// handle second level nested items
|
||||
if (selected.parent().parent().is(".toggle-list")) {
|
||||
selected = selected.parent().parent();
|
||||
}
|
||||
offsetTop += selected.position().top;
|
||||
}
|
||||
|
||||
// 180px from the bottom of the list is the threshold
|
||||
if(offsetTop > navHeight - 180) {
|
||||
scrolling.scrollTop = offsetTop - navHeight + 180;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleAllInherited(linkObj, expand) {
|
||||
var a = $(linkObj);
|
||||
var table = $(a.parent().parent().parent());
|
||||
var expandos = $(".jd-expando-trigger", table);
|
||||
if ( (expand == null && a.text() == "[Expand]") || expand ) {
|
||||
expandos.each(function(i) {
|
||||
toggleInherited(this, true);
|
||||
});
|
||||
a.text("[Collapse]");
|
||||
} else if ( (expand == null && a.text() == "[Collapse]") || (expand == false) ) {
|
||||
expandos.each(function(i) {
|
||||
toggleInherited(this, false);
|
||||
});
|
||||
a.text("[Expand]");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function toggleAllSummaryInherited(linkObj) {
|
||||
var a = $(linkObj);
|
||||
var content = $(a.parent().parent().parent());
|
||||
var toggles = $(".toggle-all", content);
|
||||
if (a.text() == "[Expand All]") {
|
||||
toggles.each(function(i) {
|
||||
toggleAllInherited(this, true);
|
||||
});
|
||||
a.text("[Collapse All]");
|
||||
} else {
|
||||
toggles.each(function(i) {
|
||||
toggleAllInherited(this, false);
|
||||
});
|
||||
a.text("[Expand All]");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function changeTabLang(lang) {
|
||||
var nodes = $("#header-tabs").find("."+lang);
|
||||
for (i=0; i < nodes.length; i++) { // for each node in this language
|
||||
for (i=0; i < nodes.length; i++) { // for each node in this language
|
||||
var node = $(nodes[i]);
|
||||
node.siblings().css("display","none"); // hide all siblings
|
||||
if (node.not(":empty").length != 0) { //if this languages node has a translation, show it
|
||||
node.siblings().css("display","none"); // hide all siblings
|
||||
if (node.not(":empty").length != 0) { //if this languages node has a translation, show it
|
||||
node.css("display","inline");
|
||||
} else { //otherwise, show English instead
|
||||
} else { //otherwise, show English instead
|
||||
node.css("display","none");
|
||||
node.siblings().filter(".en").css("display","inline");
|
||||
}
|
||||
|
@ -404,12 +548,12 @@ function changeTabLang(lang) {
|
|||
|
||||
function changeNavLang(lang) {
|
||||
var nodes = $("#side-nav").find("."+lang);
|
||||
for (i=0; i < nodes.length; i++) { // for each node in this language
|
||||
for (i=0; i < nodes.length; i++) { // for each node in this language
|
||||
var node = $(nodes[i]);
|
||||
node.siblings().css("display","none"); // hide all siblings
|
||||
if (node.not(":empty").length != 0) { // if this languages node has a translation, show it
|
||||
node.siblings().css("display","none"); // hide all siblings
|
||||
if (node.not(":empty").length != 0) { // if this languages node has a translation, show it
|
||||
node.css("display","inline");
|
||||
} else { // otherwise, show English instead
|
||||
} else { // otherwise, show English instead
|
||||
node.css("display","none");
|
||||
node.siblings().filter(".en").css("display","inline");
|
||||
}
|
||||
|
@ -449,16 +593,22 @@ function getLangPref() {
|
|||
}
|
||||
|
||||
|
||||
/* Used to hide and reveal supplemental content, such as long code samples.
|
||||
See the companion CSS in android-developer-docs.css */
|
||||
function toggleContent(obj) {
|
||||
var button = $(obj);
|
||||
var div = $(obj.parentNode);
|
||||
var div = $(obj.parentNode.parentNode);
|
||||
var toggleMe = $(".toggle-content-toggleme",div);
|
||||
if (button.hasClass("show")) {
|
||||
if (div.hasClass("closed")) { // if it's closed, open it
|
||||
toggleMe.slideDown();
|
||||
button.removeClass("show").addClass("hide");
|
||||
} else {
|
||||
toggleMe.slideUp();
|
||||
button.removeClass("hide").addClass("show");
|
||||
$(".toggle-content-text", obj).toggle();
|
||||
div.removeClass("closed").addClass("open");
|
||||
$(".toggle-content-img", div).attr("title", "hide").attr("src", toRoot + "assets/images/triangle-opened.png");
|
||||
} else { // if it's open, close it
|
||||
toggleMe.slideUp('fast', function() { // Wait until the animation is done before closing arrow
|
||||
$(".toggle-content-text", obj).toggle();
|
||||
div.removeClass("open").addClass("closed");
|
||||
$(".toggle-content-img", div).attr("title", "show").attr("src", toRoot + "assets/images/triangle-closed.png");
|
||||
});
|
||||
}
|
||||
$("span", button).toggle();
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ addLoadEvent(changeApiLevel);
|
|||
var API_LEVEL_ENABLED_COOKIE = "api_level_enabled";
|
||||
var API_LEVEL_COOKIE = "api_level";
|
||||
var minLevel = 1;
|
||||
var maxLevel = 1;
|
||||
|
||||
function toggleApiLevelSelector(checkbox) {
|
||||
var date = new Date();
|
||||
|
@ -23,9 +24,9 @@ function toggleApiLevelSelector(checkbox) {
|
|||
}
|
||||
|
||||
function buildApiLevelSelector() {
|
||||
var maxLevel = SINCE_DATA.length;
|
||||
maxLevel = SINCE_DATA.length;
|
||||
var userApiLevelEnabled = readCookie(API_LEVEL_ENABLED_COOKIE);
|
||||
var userApiLevel = readCookie(API_LEVEL_COOKIE);
|
||||
var userApiLevel = parseInt(readCookie(API_LEVEL_COOKIE));
|
||||
userApiLevel = userApiLevel == 0 ? maxLevel : userApiLevel; // If there's no cookie (zero), use the max by default
|
||||
|
||||
if (userApiLevelEnabled == 0) {
|
||||
|
@ -34,41 +35,47 @@ function buildApiLevelSelector() {
|
|||
$("#apiLevelCheckbox").attr("checked","checked");
|
||||
$("#api-level-toggle label").removeClass("disabled");
|
||||
}
|
||||
|
||||
minLevel = $("body").attr("class");
|
||||
|
||||
minLevel = parseInt($("body").attr("class"));
|
||||
// Handle provisional api levels; the provisional level will always be the highest possible level
|
||||
// Provisional api levels will also have a length; other stuff that's just missing a level won't,
|
||||
// so leave those kinds of entities at the default level of 1 (for example, the R.styleable class)
|
||||
if (isNaN(minLevel) && minLevel.length) {
|
||||
minLevel = maxLevel;
|
||||
}
|
||||
var select = $("#apiLevelSelector").html("").change(changeApiLevel);
|
||||
for (var i = maxLevel-1; i >= 0; i--) {
|
||||
var option = $("<option />").attr("value",""+SINCE_DATA[i]).append(""+SINCE_DATA[i]);
|
||||
// if (SINCE_DATA[i] < minLevel) option.addClass("absent"); // always false for strings (codenames)
|
||||
select.append(option);
|
||||
}
|
||||
|
||||
|
||||
// get the DOM element and use setAttribute cuz IE6 fails when using jquery .attr('selected',true)
|
||||
var selectedLevelItem = $("#apiLevelSelector option[value='"+userApiLevel+"']").get(0);
|
||||
selectedLevelItem.setAttribute('selected',true);
|
||||
}
|
||||
|
||||
function changeApiLevel() {
|
||||
var maxLevel = SINCE_DATA.length;
|
||||
maxLevel = SINCE_DATA.length;
|
||||
var userApiLevelEnabled = readCookie(API_LEVEL_ENABLED_COOKIE);
|
||||
var selectedLevel = maxLevel;
|
||||
|
||||
|
||||
if (userApiLevelEnabled == 0) {
|
||||
toggleVisisbleApis(selectedLevel, "body");
|
||||
} else {
|
||||
selectedLevel = $("#apiLevelSelector option:selected").val();
|
||||
selectedLevel = parseInt($("#apiLevelSelector option:selected").val());
|
||||
toggleVisisbleApis(selectedLevel, "body");
|
||||
|
||||
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime()+(10*365*24*60*60*1000)); // keep this for 10 years
|
||||
var expiration = date.toGMTString();
|
||||
writeCookie(API_LEVEL_COOKIE, selectedLevel, null, expiration);
|
||||
}
|
||||
|
||||
|
||||
if (selectedLevel < minLevel) {
|
||||
var thing = ($("#jd-header").html().indexOf("package") != -1) ? "package" : "class";
|
||||
$("#naMessage").show().html("<div><p><strong>This " + thing + " is not available with API Level " + selectedLevel + ".</strong></p>"
|
||||
+ "<p>To use this " + thing + ", your application must specify API Level " + minLevel + " or higher in its manifest "
|
||||
+ "<p>To use this " + thing + ", your application must specify API Level \"" + $("body").attr("class") + "\" or higher in its manifest "
|
||||
+ "and be compiled against a version of the Android library that supports an equal or higher API Level. To reveal this "
|
||||
+ "document, change the value of the API Level filter above.</p>"
|
||||
+ "<p><a href='" +toRoot+ "guide/appendix/api-levels.html'>What is the API Level?</a></p></div>");
|
||||
|
@ -86,7 +93,21 @@ function toggleVisisbleApis(selectedLevel, context) {
|
|||
var apiLevelEndIndex = className.indexOf(" ", apiLevelIndex);
|
||||
apiLevelEndIndex = apiLevelEndIndex != -1 ? apiLevelEndIndex : className.length;
|
||||
var apiLevel = className.substring(apiLevelIndex, apiLevelEndIndex);
|
||||
if (apiLevel > selectedLevel) obj.addClass("absent").attr("title","Requires API Level "+apiLevel+" or higher");
|
||||
if (apiLevel.length == 0) { // for odd cases when the since data is actually missing, just bail
|
||||
return;
|
||||
}
|
||||
apiLevel = parseInt(apiLevel);
|
||||
|
||||
// Handle provisional api levels; if this item's level is the provisional one, set it to the max
|
||||
var selectedLevelNum = parseInt(selectedLevel)
|
||||
var apiLevelNum = parseInt(apiLevel);
|
||||
if (isNaN(apiLevelNum)) {
|
||||
apiLevelNum = maxLevel;
|
||||
}
|
||||
|
||||
// Grey things out that aren't available and give a tooltip title
|
||||
if (apiLevelNum > selectedLevelNum) obj.addClass("absent").attr("title","Requires API Level \""
|
||||
+ apiLevel + "\" or higher");
|
||||
else obj.removeClass("absent").removeAttr("title");
|
||||
});
|
||||
}
|
||||
|
@ -184,7 +205,7 @@ function expand_node(me, node)
|
|||
}
|
||||
node.plus_img.src = me.toroot + "assets/images/triangle-opened-small.png";
|
||||
node.expanded = true;
|
||||
|
||||
|
||||
// perform api level toggling because new nodes are new to the DOM
|
||||
var selectedLevel = $("#apiLevelSelector option:selected").val();
|
||||
toggleVisisbleApis(selectedLevel, "#side-nav");
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
/* Resource Browser */
|
||||
|
||||
#resource-browser-results .no-results {
|
||||
font-style: italic;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#resource-browser-results .result {
|
||||
position: relative;
|
||||
padding-left: 84px;
|
||||
background: transparent none no-repeat scroll 4px 12px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
#resource-browser-results .tagged-article {
|
||||
background-image: url(images/resource-article.png);
|
||||
}
|
||||
|
||||
#resource-browser-results .tagged-sample {
|
||||
background-image: url(images/resource-sample.png);
|
||||
}
|
||||
|
||||
#resource-browser-results .tagged-tutorial {
|
||||
background-image: url(images/resource-tutorial.png);
|
||||
}
|
||||
|
||||
#resource-browser-results .resource-meta {
|
||||
margin-top: -1em;
|
||||
font-size: 0.85em;
|
||||
font-weight: normal;
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
(function() { // anonymize
|
||||
|
||||
var allTags = {};
|
||||
var loadedResults = [];
|
||||
|
||||
/**
|
||||
* Initialization code run upon the DOM being ready.
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
// Parse page query parameters.
|
||||
var params = parseParams(document.location.search);
|
||||
params.tag = params.tag ? makeArray(params.tag) : null;
|
||||
|
||||
// Load tag and resource dataset.
|
||||
loadTags();
|
||||
loadResources();
|
||||
|
||||
showResults(params);
|
||||
|
||||
// Watch for keypresses in the keyword filter textbox, and update
|
||||
// search results to reflect the keyword filter.
|
||||
$('#resource-browser-keyword-filter').keyup(function() {
|
||||
// Filter results on screen by keyword.
|
||||
var keywords = $(this).val().split(/\s+/g);
|
||||
for (var i = 0; i < loadedResults.length; i++) {
|
||||
var hide = false;
|
||||
for (var j = 0; j < keywords.length; j++) {
|
||||
if (!resultMatchesKeyword(loadedResults[i].result, keywords[j])) {
|
||||
hide = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
loadedResults[i].node[hide ? 'hide' : 'show']();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Returns whether or not the given search result contains the given keyword.
|
||||
*/
|
||||
function resultMatchesKeyword(result, keyword) {
|
||||
keyword = keyword.toLowerCase();
|
||||
if (result.title &&
|
||||
result.title.en.toLowerCase().indexOf(keyword) >= 0)
|
||||
return true;
|
||||
else if (result.description &&
|
||||
result.description.en.toLowerCase().indexOf(keyword) >= 0)
|
||||
return true;
|
||||
else if (result.topicsHtml &&
|
||||
result.topicsHtml.replace(/\<.*?\>/g,'').toLowerCase().indexOf(keyword) >= 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the allTags array with tag data from the ANDROID_TAGS
|
||||
* variable in the resource data JS file.
|
||||
*/
|
||||
function loadTags() {
|
||||
for (var tagClass in ANDROID_TAGS) {
|
||||
for (var tag in ANDROID_TAGS[tagClass]) {
|
||||
allTags[tag] = {
|
||||
displayTag: ANDROID_TAGS[tagClass][tag],
|
||||
tagClass: tagClass
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Massage the ANDROID_RESOURCES resource list in the resource data JS file.
|
||||
*/
|
||||
function loadResources() {
|
||||
for (var i = 0; i < ANDROID_RESOURCES.length; i++) {
|
||||
var resource = ANDROID_RESOURCES[i];
|
||||
|
||||
// Convert the tags array to a tags hash for easier querying.
|
||||
resource.tagsHash = {};
|
||||
for (var j = 0; j < resource.tags.length; j++)
|
||||
resource.tagsHash[resource.tags[j]] = true;
|
||||
|
||||
// Determine the type and topics of the resource by inspecting its tags.
|
||||
resource.topics = [];
|
||||
for (tag in resource.tagsHash)
|
||||
if (tag in allTags) {
|
||||
if (allTags[tag].tagClass == 'type') {
|
||||
resource.type = tag;
|
||||
} else if (allTags[tag].tagClass == 'topic') {
|
||||
resource.topics.push(tag);
|
||||
}
|
||||
}
|
||||
|
||||
// Add a humanized topics list string.
|
||||
resource.topicsHtml = humanizeList(resource.topics, function(item) {
|
||||
return '<strong>' + allTags[item].displayTag + '</strong>';
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads resources for the given query parameters.
|
||||
*/
|
||||
function showResults(params) {
|
||||
loadedResults = [];
|
||||
$('#resource-browser-search-params').empty();
|
||||
$('#resource-browser-results').empty();
|
||||
|
||||
var i, j;
|
||||
var searchTags = [];
|
||||
if (params.tag) {
|
||||
for (i = 0; i < params.tag.length; i++) {
|
||||
var tag = params.tag[i];
|
||||
if (tag.toLowerCase() in allTags) {
|
||||
searchTags.push(tag.toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (searchTags.length) {
|
||||
// Show query params.
|
||||
var taggedWithHtml = ['Showing technical resources tagged with '];
|
||||
taggedWithHtml.push(humanizeList(searchTags, function(item) {
|
||||
return '<strong>' + allTags[item].displayTag + '</strong>';
|
||||
}));
|
||||
$('#resource-browser-search-params').html(taggedWithHtml.join('') + ':');
|
||||
} else {
|
||||
$('#resource-browser-search-params').html('Showing all technical resources:');
|
||||
}
|
||||
|
||||
var results = [];
|
||||
|
||||
// Create the list of resources to show.
|
||||
for (i = 0; i < ANDROID_RESOURCES.length; i++) {
|
||||
var resource = ANDROID_RESOURCES[i];
|
||||
var skip = false;
|
||||
|
||||
if (searchTags.length) {
|
||||
for (j = 0; j < searchTags.length; j++)
|
||||
if (!(searchTags[j] in resource.tagsHash)) {
|
||||
skip = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (skip)
|
||||
continue;
|
||||
|
||||
results.push(resource);
|
||||
continue;
|
||||
}
|
||||
|
||||
results.push(resource);
|
||||
}
|
||||
|
||||
// Format and show the list of resource results.
|
||||
if (results.length) {
|
||||
$('#resource-browser-results .no-results').hide();
|
||||
for (i = 0; i < results.length; i++) {
|
||||
var result = results[i];
|
||||
var resultJqNode = $(tmpl('tmpl_resource_browser_result', result));
|
||||
for (tag in result.tagsHash)
|
||||
resultJqNode.addClass('tagged-' + tag);
|
||||
$('#resource-browser-results').append(resultJqNode);
|
||||
|
||||
loadedResults.push({ node: resultJqNode, result: result });
|
||||
}
|
||||
} else {
|
||||
$('#resource-browser-results .no-results').show();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats the given array into a human readable, English string, ala
|
||||
* 'a, b and c', with an optional item formatter/wrapper function.
|
||||
*/
|
||||
function humanizeList(arr, itemFormatter) {
|
||||
itemFormatter = itemFormatter || function(o){ return o; };
|
||||
arr = arr || [];
|
||||
|
||||
var out = [];
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
out.push(itemFormatter(arr[i]) +
|
||||
((i < arr.length - 2) ? ', ' : '') +
|
||||
((i == arr.length - 2) ? ' and ' : ''));
|
||||
}
|
||||
|
||||
return out.join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a parameter string, i.e. foo=1&bar=2 into
|
||||
* a dictionary object.
|
||||
*/
|
||||
function parseParams(paramStr) {
|
||||
var params = {};
|
||||
paramStr = paramStr.replace(/^[?#]/, '');
|
||||
|
||||
var pairs = paramStr.split('&');
|
||||
for (var i = 0; i < pairs.length; i++) {
|
||||
var p = pairs[i].split('=');
|
||||
var key = p[0] ? decodeURIComponent(p[0]) : p[0];
|
||||
var val = p[1] ? decodeURIComponent(p[1]) : p[1];
|
||||
if (val === '0')
|
||||
val = 0;
|
||||
if (val === '1')
|
||||
val = 1;
|
||||
|
||||
if (key in params) {
|
||||
// Handle array values.
|
||||
params[key] = makeArray(params[key]);
|
||||
params[key].push(val);
|
||||
} else {
|
||||
params[key] = val;
|
||||
}
|
||||
}
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the argument as a single-element array, or the argument itself
|
||||
* if it's already an array.
|
||||
*/
|
||||
function makeArray(o) {
|
||||
if (!o)
|
||||
return [];
|
||||
|
||||
if (typeof o === 'object' && 'splice' in o) {
|
||||
return o;
|
||||
} else {
|
||||
return [o];
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
|
@ -0,0 +1,14 @@
|
|||
function showApiWarning(thing, selectedLevel, minLevel) {
|
||||
if (selectedLevel < minLevel) {
|
||||
$("#naMessage").show().html("<div><p><strong>This " + thing + " is not available with API Level " + selectedLevel + ".</strong></p>"
|
||||
+ "<p>To use this " + thing + ", your application must specify API Level " + minLevel + " or higher in its manifest "
|
||||
+ "and be compiled against a version of the Android library that supports an equal or higher API Level. To reveal this "
|
||||
+ "document, change the value of the API Level filter above.</p>"
|
||||
+ "<p><a href='" +toRoot+ "guide/appendix/api-levels.html'>What is the API Level?</a></p></div>");
|
||||
} else {
|
||||
$("#naMessage").hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Direct searches to search.html
|
||||
HAS_SEARCH_PAGE = true;
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,676 @@
|
|||
/* color definitions */
|
||||
/* 16 column layout */
|
||||
/* clearfix idiom */
|
||||
/* common mixins */
|
||||
/* page layout + top-level styles */
|
||||
::-webkit-selection,
|
||||
::-moz-selection,
|
||||
::selection {
|
||||
background-color: #0099cc;
|
||||
color: #fff; }
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #eee none no-repeat fixed top left;
|
||||
background-image: -webkit-gradient(linear, 100% 0%, 100% 100%, from(#dddddd), color-stop(25%, #f2f2f2), color-stop(75%, #f2f2f2), to(#dddddd));
|
||||
background-image: -moz-linear-gradient(top, #dddddd, #f2f2f2, #f2f2f2, #dddddd);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* prevent subpixel antialiasing, which thickens the text */
|
||||
/* text-rendering: optimizeLegibility; */
|
||||
/* turned off ligatures due to bug 5945455 */ }
|
||||
|
||||
body {
|
||||
color: #555555;
|
||||
font: 14px/20px Roboto, sans-serif;
|
||||
font-weight: 400; }
|
||||
|
||||
#page-container {
|
||||
width: 940px;
|
||||
margin: 0 40px; }
|
||||
|
||||
#page-header {
|
||||
height: 80px;
|
||||
margin-bottom: 20px;
|
||||
font-size: 48px;
|
||||
line-height: 48px;
|
||||
font-weight: 100;
|
||||
padding-left: 10px; }
|
||||
#page-header a {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: 20px;
|
||||
text-decoration: none;
|
||||
color: #555555 !important; }
|
||||
|
||||
#main-row {
|
||||
display: inline-block; }
|
||||
#main-row:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden; }
|
||||
* html #main-row {
|
||||
height: 1px; }
|
||||
|
||||
#page-footer {
|
||||
margin-left: 190px;
|
||||
margin-top: 80px;
|
||||
color: #999999;
|
||||
padding-bottom: 40px;
|
||||
font-size: 12px;
|
||||
line-height: 15px; }
|
||||
#page-footer a {
|
||||
color: #777777; }
|
||||
#page-footer #copyright {
|
||||
margin-bottom: 10px; }
|
||||
|
||||
#nav-container {
|
||||
width: 160px;
|
||||
min-height: 10px;
|
||||
margin-right: 20px;
|
||||
float: left; }
|
||||
|
||||
#nav {
|
||||
width: 160px; }
|
||||
|
||||
#nav.fixed {
|
||||
position: fixed;
|
||||
top: 40px; }
|
||||
|
||||
#content {
|
||||
width: 760px;
|
||||
float: left; }
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
color: #333333; }
|
||||
|
||||
a:hover,
|
||||
acronym:hover {
|
||||
color: #7aa1b0 !important; }
|
||||
|
||||
a:focus,
|
||||
a:active {
|
||||
color: #33b5e5 !important; }
|
||||
|
||||
img {
|
||||
border: none; }
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
strong {
|
||||
font-weight: 500; }
|
||||
|
||||
em {
|
||||
font-style: italic; }
|
||||
|
||||
code {
|
||||
font-family: Courier New, monospace; }
|
||||
|
||||
acronym {
|
||||
border-bottom: 1px dotted #555555;
|
||||
cursor: help; }
|
||||
|
||||
acronym:hover {
|
||||
border-bottom-color: #7aa1b0; }
|
||||
|
||||
img.with-shadow,
|
||||
video.with-shadow {
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
|
||||
|
||||
/* disclosures mixin */
|
||||
/* content layout */
|
||||
.layout-content-row {
|
||||
display: inline-block;
|
||||
margin-bottom: 10px; }
|
||||
.layout-content-row:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden; }
|
||||
* html .layout-content-row {
|
||||
height: 1px; }
|
||||
|
||||
.layout-content-col {
|
||||
float: left;
|
||||
margin-left: 20px; }
|
||||
.layout-content-col:first-child {
|
||||
margin-left: 0; }
|
||||
|
||||
.layout-content-col.span-1 {
|
||||
width: 40px; }
|
||||
|
||||
.layout-content-col.span-2 {
|
||||
width: 100px; }
|
||||
|
||||
.layout-content-col.span-3 {
|
||||
width: 160px; }
|
||||
|
||||
.layout-content-col.span-4 {
|
||||
width: 220px; }
|
||||
|
||||
.layout-content-col.span-5 {
|
||||
width: 280px; }
|
||||
|
||||
.layout-content-col.span-6 {
|
||||
width: 340px; }
|
||||
|
||||
.layout-content-col.span-7 {
|
||||
width: 400px; }
|
||||
|
||||
.layout-content-col.span-8 {
|
||||
width: 460px; }
|
||||
|
||||
.layout-content-col.span-9 {
|
||||
width: 520px; }
|
||||
|
||||
.layout-content-col.span-10 {
|
||||
width: 580px; }
|
||||
|
||||
.layout-content-col.span-11 {
|
||||
width: 640px; }
|
||||
|
||||
.layout-content-col.span-12 {
|
||||
width: 700px; }
|
||||
|
||||
.layout-content-col.span-13 {
|
||||
width: 760px; }
|
||||
|
||||
.vspace.size-1 {
|
||||
height: 10px; }
|
||||
|
||||
.vspace.size-2 {
|
||||
height: 20px; }
|
||||
|
||||
.vspace.size-3 {
|
||||
height: 30px; }
|
||||
|
||||
.vspace.size-4 {
|
||||
height: 40px; }
|
||||
|
||||
.vspace.size-5 {
|
||||
height: 50px; }
|
||||
|
||||
.vspace.size-6 {
|
||||
height: 60px; }
|
||||
|
||||
.vspace.size-7 {
|
||||
height: 70px; }
|
||||
|
||||
.vspace.size-8 {
|
||||
height: 80px; }
|
||||
|
||||
.vspace.size-9 {
|
||||
height: 90px; }
|
||||
|
||||
.vspace.size-10 {
|
||||
height: 100px; }
|
||||
|
||||
.vspace.size-11 {
|
||||
height: 110px; }
|
||||
|
||||
.vspace.size-12 {
|
||||
height: 120px; }
|
||||
|
||||
.vspace.size-13 {
|
||||
height: 130px; }
|
||||
|
||||
.vspace.size-14 {
|
||||
height: 140px; }
|
||||
|
||||
.vspace.size-15 {
|
||||
height: 150px; }
|
||||
|
||||
.vspace.size-16 {
|
||||
height: 160px; }
|
||||
|
||||
/* nav */
|
||||
#nav {
|
||||
/* section header divs */
|
||||
/* expanded section header divs */
|
||||
/* sublinks */ }
|
||||
#nav li {
|
||||
list-style-type: none;
|
||||
font-size: 14px;
|
||||
line-height: 10px; }
|
||||
#nav a {
|
||||
color: #555555;
|
||||
text-decoration: none; }
|
||||
#nav li.selected > a,
|
||||
#nav li.selected .nav-section-header a {
|
||||
font-weight: 500;
|
||||
color: #0099cc !important; }
|
||||
#nav .nav-section-header {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
margin-bottom: 1px;
|
||||
/* section header links */ }
|
||||
#nav .nav-section-header a {
|
||||
color: #333333;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase; }
|
||||
#nav .nav-section-header:after {
|
||||
content: '';
|
||||
background: transparent url(disclosure_down.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px; }
|
||||
#nav .nav-section-header.empty:after {
|
||||
display: none; }
|
||||
#nav li.expanded .nav-section-header {
|
||||
background: rgba(0, 0, 0, 0.05); }
|
||||
#nav li.expanded .nav-section-header:after {
|
||||
content: '';
|
||||
background: transparent url(disclosure_up.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px; }
|
||||
#nav > li > ul {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0; }
|
||||
#nav > li > ul.animate-height {
|
||||
-webkit-transition: height 0.25s ease-in;
|
||||
-moz-transition: height 0.25s ease-in;
|
||||
transition: height 0.25s ease-in; }
|
||||
#nav > li > ul li {
|
||||
padding: 10px 10px 11px 10px; }
|
||||
#nav > li.expanded > ul {
|
||||
height: auto; }
|
||||
#nav > li.expanded > ul li {
|
||||
background: rgba(0, 0, 0, 0.03); }
|
||||
#nav #back-dac-section {
|
||||
padding: 10px;
|
||||
border-top: 1px solid #ddd; }
|
||||
#nav #back-dac-section a {
|
||||
color: #333333;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase; }
|
||||
|
||||
/* content header */
|
||||
.content-header {
|
||||
border-bottom: 1px solid #33b5e5;
|
||||
height: 30px; }
|
||||
.content-header h2 {
|
||||
border-bottom: 0; }
|
||||
.content-header.just-links {
|
||||
border-bottom: 0; }
|
||||
|
||||
.content-footer {
|
||||
border-top: 1px solid #33b5e5;
|
||||
margin-top: 10px;
|
||||
height: 30px; }
|
||||
|
||||
.paging-links {
|
||||
position: relative; }
|
||||
.paging-links a {
|
||||
position: absolute;
|
||||
font-size: 14px;
|
||||
line-height: 30px;
|
||||
color: #555555;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase; }
|
||||
.paging-links .prev-page-link {
|
||||
display: none;
|
||||
left: -5px; }
|
||||
.paging-links .prev-page-link:before {
|
||||
content: '';
|
||||
background: transparent url(disclosure_left.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
display: inline-block;
|
||||
margin-right: 5px; }
|
||||
.paging-links .next-page-link {
|
||||
display: none;
|
||||
right: 10px; }
|
||||
.paging-links .next-page-link:after {
|
||||
content: '';
|
||||
background: transparent url(disclosure_right.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
display: inline-block;
|
||||
margin-left: 5px; }
|
||||
|
||||
/* content body */
|
||||
@-webkit-keyframes glowheader {
|
||||
from {
|
||||
background-color: #33b5e5;
|
||||
color: #000;
|
||||
border-bottom-color: #000; }
|
||||
|
||||
to {
|
||||
background-color: transparent;
|
||||
color: #33b5e5;
|
||||
border-bottom-color: #33b5e5; } }
|
||||
|
||||
@-moz-keyframes glowheader {
|
||||
from {
|
||||
background-color: #33b5e5;
|
||||
color: #000;
|
||||
border-bottom-color: #000; }
|
||||
|
||||
to {
|
||||
background-color: transparent;
|
||||
color: #33b5e5;
|
||||
border-bottom-color: #33b5e5; } }
|
||||
|
||||
@keyframes glowheader {
|
||||
from {
|
||||
background-color: #33b5e5;
|
||||
color: #000;
|
||||
border-bottom-color: #000; }
|
||||
|
||||
to {
|
||||
background-color: transparent;
|
||||
color: #33b5e5;
|
||||
border-bottom-color: #33b5e5; } }
|
||||
|
||||
#content p,
|
||||
#content ul,
|
||||
#content ol,
|
||||
#content h3 {
|
||||
margin: 0 10px 10px 10px; }
|
||||
#content h2 {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 16px;
|
||||
line-height: 30px;
|
||||
font-weight: 500;
|
||||
color: #33b5e5;
|
||||
border-bottom: 1px solid #33b5e5;
|
||||
height: 30px; }
|
||||
#content h2:target {
|
||||
-webkit-animation-name: glowheader;
|
||||
-moz-animation-name: glowheader;
|
||||
animation-name: glowheader;
|
||||
-webkit-animation-duration: 0.7s;
|
||||
-moz-animation-duration: 0.7s;
|
||||
animation-duration: 0.7s;
|
||||
-webkit-animation-timing-function: ease-out;
|
||||
-moz-animation-timing-function: ease-out;
|
||||
animation-timing-function: ease-out; }
|
||||
#content hr {
|
||||
border: 0;
|
||||
border-bottom: 1px solid #33b5e5;
|
||||
margin-bottom: 20px; }
|
||||
#content h3 {
|
||||
color: #33b5e5;
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
font-weight: 500; }
|
||||
#content h4 {
|
||||
margin: 0 10px;
|
||||
color: #333333;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 20px; }
|
||||
#content strong {
|
||||
color: #333333; }
|
||||
#content ul li,
|
||||
#content ol li {
|
||||
margin-left: 20px; }
|
||||
#content ul li h4,
|
||||
#content ol li h4 {
|
||||
margin: 0; }
|
||||
#content ul li p,
|
||||
#content ol li p {
|
||||
margin-left: 0; }
|
||||
#content ul li {
|
||||
list-style-type: square;
|
||||
list-style-type: none;
|
||||
position: relative; }
|
||||
#content ul li:before {
|
||||
content: '\2022';
|
||||
font-family: verdana;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
top: -1px; }
|
||||
#content ol {
|
||||
counter-reset: item; }
|
||||
#content ol li {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
list-style-type: none;
|
||||
position: relative; }
|
||||
#content ol li:before {
|
||||
content: counter(item) ". ";
|
||||
counter-increment: item;
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
top: 0; }
|
||||
#content ol li.value-1:before {
|
||||
content: "1. "; }
|
||||
#content ol li.value-2:before {
|
||||
content: "2. "; }
|
||||
#content ol li.value-3:before {
|
||||
content: "3. "; }
|
||||
#content ol li.value-4:before {
|
||||
content: "4. "; }
|
||||
#content ol li.value-5:before {
|
||||
content: "5. "; }
|
||||
#content ol li.value-6:before {
|
||||
content: "6. "; }
|
||||
#content ol li.value-7:before {
|
||||
content: "7. "; }
|
||||
#content ol li.value-8:before {
|
||||
content: "8. "; }
|
||||
#content ol li.value-9:before {
|
||||
content: "9. "; }
|
||||
#content ol li.value-10:before {
|
||||
content: "10. "; }
|
||||
#content .with-callouts ol li {
|
||||
list-style-position: inside;
|
||||
margin-left: 0; }
|
||||
#content .with-callouts ol li:before {
|
||||
position: static;
|
||||
display: inline;
|
||||
left: 0;
|
||||
float: left;
|
||||
width: 17px;
|
||||
color: #33b5e5;
|
||||
font-weight: 500; }
|
||||
|
||||
/* special list items */
|
||||
li.no-bullet {
|
||||
list-style-type: none !important; }
|
||||
|
||||
#content li.with-icon {
|
||||
position: relative;
|
||||
margin-left: 40px;
|
||||
min-height: 30px; }
|
||||
#content li.with-icon p {
|
||||
margin-left: 0 !important; }
|
||||
#content li.with-icon:before {
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: 0;
|
||||
content: '';
|
||||
width: 30px;
|
||||
height: 30px; }
|
||||
#content li.with-icon.tablet:before {
|
||||
background-image: url(ico_phone_tablet.png); }
|
||||
#content li.with-icon.web:before {
|
||||
background-image: url(ico_web.png); }
|
||||
#content li.with-icon.checklist:before {
|
||||
background-image: url(ico_checklist.png); }
|
||||
#content li.with-icon.action:before {
|
||||
background-image: url(ico_action.png); }
|
||||
#content li.with-icon.use:before {
|
||||
background-image: url(ico_use.png); }
|
||||
|
||||
/* figures and callouts */
|
||||
.figure {
|
||||
position: relative; }
|
||||
.figure.pad-below {
|
||||
margin-bottom: 20px; }
|
||||
.figure .figure-callout {
|
||||
position: absolute;
|
||||
color: #fff;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 23px;
|
||||
text-align: center;
|
||||
background: transparent url(callout.png) no-repeat scroll 50% 50%;
|
||||
padding-right: 2px;
|
||||
width: 30px;
|
||||
height: 29px;
|
||||
z-index: 1000; }
|
||||
.figure .figure-callout.top {
|
||||
top: -9px; }
|
||||
.figure .figure-callout.right {
|
||||
right: -5px; }
|
||||
|
||||
.figure-caption {
|
||||
margin: 0 10px 20px 10px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
font-style: italic; }
|
||||
|
||||
/* rows of figures */
|
||||
.figure-row {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
/* to prevent space between figures */ }
|
||||
.figure-row .figure {
|
||||
display: inline-block;
|
||||
vertical-align: top; }
|
||||
.figure-row .figure + .figure {
|
||||
margin-left: 10px;
|
||||
/* reintroduce space between figures */ }
|
||||
|
||||
/* video containers */
|
||||
.framed-galaxynexus-land-span-13 {
|
||||
background: transparent url(device_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
|
||||
padding: 42px 122px 62px 126px;
|
||||
overflow: hidden; }
|
||||
.framed-galaxynexus-land-span-13, .framed-galaxynexus-land-span-13 video, .framed-galaxynexus-land-span-13 img {
|
||||
width: 512px;
|
||||
height: 286px; }
|
||||
|
||||
.framed-galaxynexus-port-span-9 {
|
||||
background: transparent url(device_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
|
||||
padding: 95px 122px 107px 124px;
|
||||
overflow: hidden; }
|
||||
.framed-galaxynexus-port-span-9, .framed-galaxynexus-port-span-9 video, .framed-galaxynexus-port-span-9 img {
|
||||
width: 274px;
|
||||
height: 488px; }
|
||||
|
||||
.framed-galaxynexus-port-span-5 {
|
||||
background: transparent url(device_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
|
||||
padding: 75px 31px 76px 33px;
|
||||
overflow: hidden; }
|
||||
.framed-galaxynexus-port-span-5, .framed-galaxynexus-port-span-5 video, .framed-galaxynexus-port-span-5 img {
|
||||
width: 216px;
|
||||
height: 384px; }
|
||||
|
||||
/* landing page disclosures */
|
||||
.landing-page-link {
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
color: #333333; }
|
||||
.landing-page-link:after {
|
||||
content: '';
|
||||
background: transparent url(disclosure_right.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
display: inline-block;
|
||||
margin-left: 5px; }
|
||||
|
||||
/* tooltips */
|
||||
.tooltip-box {
|
||||
position: absolute;
|
||||
background-color: rgba(0, 0, 0, 0.9);
|
||||
border-radius: 2px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: #fff;
|
||||
padding: 6px 10px;
|
||||
max-width: 250px;
|
||||
z-index: 10000; }
|
||||
.tooltip-box.below:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
line-height: 0;
|
||||
display: block;
|
||||
top: -10px;
|
||||
left: 5px;
|
||||
border: 5px solid transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.9); }
|
||||
|
||||
/* video note */
|
||||
.video-instructions {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px; }
|
||||
.video-instructions:before {
|
||||
content: '';
|
||||
background: transparent url(ico_movie_inline.png) no-repeat scroll top left;
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-right: 8px; }
|
||||
.video-instructions:after {
|
||||
content: 'Click to replay movie.'; }
|
||||
|
||||
/* download buttons */
|
||||
.download-button {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
text-decoration: none;
|
||||
background-color: #33b5e5;
|
||||
color: #fff !important;
|
||||
font-weight: 500;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
|
||||
padding: 6px 12px;
|
||||
border-radius: 2px; }
|
||||
.download-button:hover, .download-button:focus {
|
||||
background-color: #0099cc;
|
||||
color: #fff !important; }
|
||||
.download-button:active {
|
||||
background-color: #006699; }
|
||||
|
||||
/* UI tables and other things found in Writing style and Settings pattern */
|
||||
.ui-table {
|
||||
width: 100%;
|
||||
background: #282828;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
||||
border-collapse: separate; }
|
||||
.ui-table th,
|
||||
.ui-table td {
|
||||
padding: 5px 10px; }
|
||||
.ui-table thead th {
|
||||
font-weight: 600; }
|
||||
.ui-table tfoot td {
|
||||
border-top: 1px solid #494949;
|
||||
border-right: 1px solid #494949;
|
||||
text-align: center; }
|
||||
.ui-table tfoot td:last-child {
|
||||
border-right: 0; }
|
||||
|
||||
.layout-with-list-item-margins {
|
||||
margin-left: 30px !important; }
|
||||
|
||||
.emulate-content-left-padding {
|
||||
margin-left: 10px; }
|
||||
|
||||
.do-dont-label {
|
||||
margin-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
background: transparent none no-repeat scroll 0px 3px; }
|
||||
.do-dont-label.bad {
|
||||
background-image: url(ico_wrong.png); }
|
||||
.do-dont-label.good {
|
||||
background-image: url(ico_good.png); }
|
|
@ -0,0 +1,188 @@
|
|||
$(document).ready(function() {
|
||||
// prep nav expandos
|
||||
var pagePath = document.location.pathname;
|
||||
if (pagePath.indexOf(SITE_ROOT) == 0) {
|
||||
pagePath = pagePath.substr(SITE_ROOT.length);
|
||||
if (pagePath == '' || pagePath.charAt(pagePath.length - 1) == '/') {
|
||||
pagePath += 'index.html';
|
||||
}
|
||||
}
|
||||
|
||||
if (SITE_ROOT.match(/\.\.\//) || SITE_ROOT == '') {
|
||||
// If running locally, SITE_ROOT will be a relative path, so account for that by
|
||||
// finding the relative URL to this page. This will allow us to find links on the page
|
||||
// leading back to this page.
|
||||
var pathParts = pagePath.split('/');
|
||||
var relativePagePathParts = [];
|
||||
var upDirs = (SITE_ROOT.match(/(\.\.\/)+/) || [''])[0].length / 3;
|
||||
for (var i = 0; i < upDirs; i++) {
|
||||
relativePagePathParts.push('..');
|
||||
}
|
||||
for (var i = 0; i < upDirs; i++) {
|
||||
relativePagePathParts.push(pathParts[pathParts.length - (upDirs - i) - 1]);
|
||||
}
|
||||
relativePagePathParts.push(pathParts[pathParts.length - 1]);
|
||||
pagePath = relativePagePathParts.join('/');
|
||||
} else {
|
||||
// Otherwise the page path should be an absolute URL.
|
||||
pagePath = SITE_ROOT + pagePath;
|
||||
}
|
||||
|
||||
// select current page in sidenav and set up prev/next links if they exist
|
||||
var $selNavLink = $('#nav').find('a[href="' + pagePath + '"]');
|
||||
if ($selNavLink.length) {
|
||||
$selListItem = $selNavLink.closest('li');
|
||||
|
||||
$selListItem.addClass('selected');
|
||||
$selListItem.closest('li.nav-section').addClass('expanded');
|
||||
|
||||
// set up prev links
|
||||
var $prevLink = [];
|
||||
var $prevListItem = $selListItem.prev('li');
|
||||
if ($prevListItem.length) {
|
||||
if ($prevListItem.hasClass('nav-section')) {
|
||||
// jump to last topic of previous section
|
||||
$prevLink = $prevListItem.find('a:last');
|
||||
} else {
|
||||
// jump to previous topic in this section
|
||||
$prevLink = $prevListItem.find('a:eq(0)');
|
||||
}
|
||||
} else {
|
||||
// jump to this section's index page (if it exists)
|
||||
$prevLink = $selListItem.parents('li').find('a');
|
||||
}
|
||||
|
||||
if ($prevLink.length) {
|
||||
var prevHref = $prevLink.attr('href');
|
||||
if (prevHref == SITE_ROOT + 'index.html') {
|
||||
// Don't show Previous when it leads to the homepage
|
||||
$('.prev-page-link').hide();
|
||||
} else {
|
||||
$('.prev-page-link').attr('href', prevHref).show();
|
||||
}
|
||||
} else {
|
||||
$('.prev-page-link').hide();
|
||||
}
|
||||
|
||||
// set up next links
|
||||
var $nextLink = [];
|
||||
if ($selListItem.hasClass('nav-section')) {
|
||||
// we're on an index page, jump to the first topic
|
||||
$nextLink = $selListItem.find('ul').find('a:eq(0)')
|
||||
} else {
|
||||
// jump to the next topic in this section (if it exists)
|
||||
$nextLink = $selListItem.next('li').find('a:eq(0)');
|
||||
if (!$nextLink.length) {
|
||||
// no more topics in this section, jump to the first topic in the next section
|
||||
$nextLink = $selListItem.parents('li').next('li.nav-section').find('a:eq(0)');
|
||||
}
|
||||
}
|
||||
if ($nextLink.length) {
|
||||
$('.next-page-link').attr('href', $nextLink.attr('href')).show();
|
||||
} else {
|
||||
$('.next-page-link').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Set up expand/collapse behavior
|
||||
$('#nav li.nav-section').click(function() {
|
||||
if ($(this).hasClass('expanded')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// hide other
|
||||
var $old = $('#nav li.nav-section.expanded');
|
||||
if ($old.length) {
|
||||
var $oldUl = $old.children('ul');
|
||||
$oldUl.css('height', $oldUl.height() + 'px');
|
||||
window.setTimeout(function() {
|
||||
$oldUl
|
||||
.addClass('animate-height')
|
||||
.css('height', '');
|
||||
}, 0);
|
||||
$old.removeClass('expanded');
|
||||
}
|
||||
|
||||
// show me
|
||||
$(this).addClass('expanded');
|
||||
var $ul = $(this).children('ul');
|
||||
var expandedHeight = $ul.height();
|
||||
$ul
|
||||
.removeClass('animate-height')
|
||||
.css('height', 0);
|
||||
window.setTimeout(function() {
|
||||
$ul
|
||||
.addClass('animate-height')
|
||||
.css('height', expandedHeight + 'px');
|
||||
}, 0);
|
||||
});
|
||||
|
||||
// Stop expand/collapse behavior when clicking on nav section links (since we're navigating away
|
||||
// from the page)
|
||||
$('.nav-section-header').find('a:eq(0)').click(function(evt) {
|
||||
window.location.href = $(this).attr('href');
|
||||
return false;
|
||||
});
|
||||
|
||||
// Set up play-on-hover <video> tags.
|
||||
$('video.play-on-hover').bind('click', function(){
|
||||
$(this).get(0).load(); // in case the video isn't seekable
|
||||
$(this).get(0).play();
|
||||
});
|
||||
|
||||
// Set up tooltips
|
||||
var TOOLTIP_MARGIN = 10;
|
||||
$('acronym').each(function() {
|
||||
var $target = $(this);
|
||||
var $tooltip = $('<div>')
|
||||
.addClass('tooltip-box')
|
||||
.text($target.attr('title'))
|
||||
.hide()
|
||||
.appendTo('body');
|
||||
$target.removeAttr('title');
|
||||
|
||||
$target.hover(function() {
|
||||
// in
|
||||
var targetRect = $target.offset();
|
||||
targetRect.width = $target.width();
|
||||
targetRect.height = $target.height();
|
||||
|
||||
$tooltip.css({
|
||||
left: targetRect.left,
|
||||
top: targetRect.top + targetRect.height + TOOLTIP_MARGIN
|
||||
});
|
||||
$tooltip.addClass('below');
|
||||
$tooltip.show();
|
||||
}, function() {
|
||||
// out
|
||||
$tooltip.hide();
|
||||
});
|
||||
});
|
||||
|
||||
// Set up <h2> deeplinks
|
||||
$('h2').click(function() {
|
||||
var id = $(this).attr('id');
|
||||
if (id) {
|
||||
document.location.hash = id;
|
||||
}
|
||||
});
|
||||
|
||||
// Set up fixed navbar
|
||||
var navBarIsFixed = false;
|
||||
$(window).scroll(function() {
|
||||
var scrollTop = $(window).scrollTop();
|
||||
var navBarShouldBeFixed = (scrollTop > (100 - 40));
|
||||
if (navBarIsFixed != navBarShouldBeFixed) {
|
||||
if (navBarShouldBeFixed) {
|
||||
$('#nav')
|
||||
.addClass('fixed')
|
||||
.prependTo('#page-container');
|
||||
} else {
|
||||
$('#nav')
|
||||
.removeClass('fixed')
|
||||
.prependTo('#nav-container');
|
||||
}
|
||||
navBarIsFixed = navBarShouldBeFixed;
|
||||
}
|
||||
});
|
||||
});
|
|
@ -0,0 +1,792 @@
|
|||
/* color definitions */
|
||||
|
||||
$text_color: #555;
|
||||
$text_color_dark: #333;
|
||||
$text_color_light: #777;
|
||||
$text_color_lighter: #999;
|
||||
|
||||
$ics_blue: #33b5e5;
|
||||
$ics_blue_dark: #09c;
|
||||
$ics_blue_darkest: #069;
|
||||
$ics_blue_desaturated: #7aa1b0;
|
||||
|
||||
$panel_background: rgba(0, 0, 0, 0.03);
|
||||
$panel_background_dark: rgba(0, 0, 0, 0.05);
|
||||
|
||||
$light_shadow_color: rgba(0,0,0,0.25);
|
||||
$lighter_shadow_color: rgba(0,0,0,0.12);
|
||||
|
||||
$tiny_text_size: 12px;
|
||||
$small_text_size: 14px;
|
||||
$large_text_size: 16px;
|
||||
$default_line_height: 20px;
|
||||
$tiny_line_height: 15px;
|
||||
|
||||
$thinweight: 100;
|
||||
$normalweight: 400;
|
||||
$boldweight: 500;
|
||||
|
||||
/* 16 column layout */
|
||||
|
||||
$col_width: 40px;
|
||||
$gutter_width: 20px;
|
||||
|
||||
@function gridwidth($n) {
|
||||
@return $n * $col_width + ($n - 1) * $gutter_width;
|
||||
}
|
||||
|
||||
/* clearfix idiom */
|
||||
|
||||
@mixin clearfix {
|
||||
display: inline-block;
|
||||
&:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
* html & { height: 1px }
|
||||
}
|
||||
|
||||
/* common mixins */
|
||||
|
||||
@mixin fontheight($font_size, $line_height) {
|
||||
font-size: $font_size;
|
||||
line-height: $line_height;
|
||||
}
|
||||
|
||||
@mixin prefixed($property, $value) {
|
||||
-webkit-#{$property}: $value;
|
||||
-moz-#{$property}: $value;
|
||||
#{$property}: $value;
|
||||
}
|
||||
|
||||
/* page layout + top-level styles */
|
||||
|
||||
::-webkit-selection,
|
||||
::-moz-selection,
|
||||
::selection {
|
||||
background-color: $ics_blue_dark;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #eee none no-repeat fixed top left;
|
||||
background-image: -webkit-gradient(linear, 100% 0%, 100% 100%, from(#ddd), color-stop(25%, #f2f2f2), color-stop(75%, #f2f2f2), to(#ddd));
|
||||
background-image: -moz-linear-gradient(top, #ddd, #f2f2f2, #f2f2f2, #ddd);
|
||||
-webkit-font-smoothing: antialiased; /* prevent subpixel antialiasing, which thickens the text */
|
||||
/* text-rendering: optimizeLegibility; */ /* turned off ligatures due to bug 5945455 */
|
||||
}
|
||||
|
||||
body {
|
||||
color: $text_color;
|
||||
font: #{$small_text_size}/#{$default_line_height} Roboto,sans-serif;
|
||||
font-weight: $normalweight;
|
||||
}
|
||||
|
||||
#page-container {
|
||||
width: gridwidth(16);
|
||||
margin: 0 40px;
|
||||
}
|
||||
|
||||
#page-header {
|
||||
height: 80px;
|
||||
margin-bottom: 20px;
|
||||
@include fontheight(48px, 48px);
|
||||
font-weight: $thinweight;
|
||||
padding-left: $gutter_width / 2;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: 20px;
|
||||
text-decoration :none;
|
||||
color: $text_color !important;
|
||||
}
|
||||
}
|
||||
|
||||
#main-row {
|
||||
@include clearfix;
|
||||
}
|
||||
|
||||
#page-footer {
|
||||
margin-left: gridwidth(3) + $gutter_width + 10;
|
||||
margin-top: 80px;
|
||||
color: $text_color_lighter;
|
||||
padding-bottom: 40px;
|
||||
@include fontheight($tiny_text_size, $tiny_line_height);
|
||||
|
||||
a {
|
||||
color: $text_color_light;
|
||||
}
|
||||
|
||||
#copyright {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#nav-container {
|
||||
width: gridwidth(3);
|
||||
min-height: 10px;
|
||||
margin-right: $gutter_width;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#nav {
|
||||
width: gridwidth(3);
|
||||
}
|
||||
|
||||
#nav.fixed {
|
||||
position: fixed;
|
||||
top: 40px;
|
||||
}
|
||||
|
||||
#content {
|
||||
width: gridwidth(13);
|
||||
float: left;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
color: $text_color_dark;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
acronym:hover {
|
||||
color: $ics_blue_desaturated !important;
|
||||
}
|
||||
|
||||
a:focus,
|
||||
a:active {
|
||||
color: $ics_blue !important;
|
||||
}
|
||||
|
||||
img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: $boldweight;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Courier New, monospace;
|
||||
}
|
||||
|
||||
acronym {
|
||||
border-bottom: 1px dotted $text_color;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
acronym:hover {
|
||||
border-bottom-color: $ics_blue_desaturated;
|
||||
}
|
||||
|
||||
img.with-shadow,
|
||||
video.with-shadow {
|
||||
box-shadow: 0 2px 4px $light_shadow_color;
|
||||
}
|
||||
|
||||
/* disclosures mixin */
|
||||
|
||||
@mixin disclosure($type) {
|
||||
content: '';
|
||||
background: transparent url(disclosure_#{$type}.png) no-repeat scroll top left;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
/* content layout */
|
||||
|
||||
.layout-content-row {
|
||||
@include clearfix;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.layout-content-col {
|
||||
float: left;
|
||||
margin-left: $gutter_width;
|
||||
|
||||
&:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@for $n from 1 through 13 {
|
||||
.layout-content-col.span-#{$n} { width: gridwidth($n); }
|
||||
}
|
||||
|
||||
@for $n from 1 through 16 {
|
||||
.vspace.size-#{$n} { height: 10px * $n; }
|
||||
}
|
||||
|
||||
/* nav */
|
||||
|
||||
#nav {
|
||||
li {
|
||||
list-style-type: none;
|
||||
@include fontheight($small_text_size, 10px);
|
||||
}
|
||||
|
||||
a {
|
||||
color: $text_color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
li.selected > a,
|
||||
li.selected .nav-section-header a {
|
||||
font-weight: $boldweight;
|
||||
color: $ics_blue_dark !important;
|
||||
}
|
||||
|
||||
/* section header divs */
|
||||
|
||||
.nav-section-header {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
margin-bottom: 1px;
|
||||
|
||||
/* section header links */
|
||||
|
||||
a {
|
||||
color: $text_color_dark;
|
||||
font-weight: $boldweight;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
&:after {
|
||||
@include disclosure(down);
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
&.empty:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* expanded section header divs */
|
||||
|
||||
li.expanded .nav-section-header {
|
||||
background: $panel_background_dark;
|
||||
|
||||
&:after {
|
||||
@include disclosure(up);
|
||||
}
|
||||
}
|
||||
|
||||
/* sublinks */
|
||||
|
||||
& > li > ul {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0;
|
||||
|
||||
&.animate-height {
|
||||
@include prefixed(transition, height 0.25s ease-in);
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 10px 10px (10px + 1) 10px;
|
||||
}
|
||||
}
|
||||
|
||||
& > li.expanded > ul {
|
||||
height: auto;
|
||||
|
||||
li {
|
||||
background: $panel_background;
|
||||
}
|
||||
}
|
||||
|
||||
#back-dac-section {
|
||||
padding: 10px;
|
||||
border-top: 1px solid #ddd;
|
||||
|
||||
a {
|
||||
color: $text_color_dark;
|
||||
font-weight: $boldweight;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* content header */
|
||||
|
||||
$content_header_height: 30px;
|
||||
|
||||
.content-header {
|
||||
border-bottom: 1px solid $ics_blue;
|
||||
height: $content_header_height;
|
||||
|
||||
h2 {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
&.just-links {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.content-footer {
|
||||
border-top: 1px solid $ics_blue;
|
||||
margin-top: 10px;
|
||||
height: $content_header_height;
|
||||
}
|
||||
|
||||
.paging-links {
|
||||
position: relative;
|
||||
|
||||
a {
|
||||
position: absolute;
|
||||
font-size: $small_text_size;
|
||||
line-height: $content_header_height;
|
||||
color: $text_color;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.prev-page-link {
|
||||
display: none;
|
||||
left: -5px;
|
||||
|
||||
&:before {
|
||||
@include disclosure(left);
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.next-page-link {
|
||||
display: none;
|
||||
right: 10px;
|
||||
|
||||
&:after {
|
||||
@include disclosure(right);
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* content body */
|
||||
|
||||
@-webkit-keyframes glowheader {
|
||||
from { background-color: rgb(51, 181, 229); color: #000; border-bottom-color: #000; }
|
||||
to { background-color: transparent; color: $ics_blue; border-bottom-color: $ics_blue; }
|
||||
}
|
||||
@-moz-keyframes glowheader {
|
||||
from { background-color: rgb(51, 181, 229); color: #000; border-bottom-color: #000; }
|
||||
to { background-color: transparent; color: $ics_blue; border-bottom-color: $ics_blue; }
|
||||
}
|
||||
@keyframes glowheader {
|
||||
from { background-color: rgb(51, 181, 229); color: #000; border-bottom-color: #000; }
|
||||
to { background-color: transparent; color: $ics_blue; border-bottom-color: $ics_blue; }
|
||||
}
|
||||
|
||||
#content {
|
||||
p,
|
||||
ul,
|
||||
ol,
|
||||
h3 {
|
||||
margin: 0 10px 10px 10px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: $large_text_size;
|
||||
line-height: $content_header_height;
|
||||
font-weight: $boldweight;
|
||||
color: $ics_blue;
|
||||
border-bottom: 1px solid $ics_blue;
|
||||
height: $content_header_height;
|
||||
|
||||
&:target {
|
||||
@include prefixed(animation-name, glowheader);
|
||||
@include prefixed(animation-duration, 0.7s);
|
||||
@include prefixed(animation-timing-function, ease-out);
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
border-bottom: 1px solid $ics_blue;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: $ics_blue;
|
||||
text-transform: uppercase;
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
font-weight: $boldweight;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin: 0 10px;
|
||||
color: $text_color_dark;
|
||||
font-weight: $boldweight;
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
}
|
||||
|
||||
strong {
|
||||
color: $text_color_dark;
|
||||
}
|
||||
|
||||
ul li,
|
||||
ol li {
|
||||
margin-left: 20px;
|
||||
|
||||
h4 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style-type: square;
|
||||
list-style-type: none;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: '\2022';
|
||||
font-family: verdana;
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
top: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
ol {
|
||||
counter-reset: item;
|
||||
|
||||
li {
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
list-style-type: none;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: counter(item) '. ';
|
||||
counter-increment: item;
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
@for $n from 1 through 10 {
|
||||
&.value-#{$n}:before {
|
||||
content: '#{$n}. ';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.with-callouts ol li {
|
||||
list-style-position: inside;
|
||||
margin-left: 0;
|
||||
|
||||
&:before {
|
||||
position: static;
|
||||
display: inline;
|
||||
left: 0;
|
||||
float: left;
|
||||
width: 17px;
|
||||
color: $ics_blue;
|
||||
font-weight: $boldweight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* special list items */
|
||||
|
||||
li.no-bullet {
|
||||
list-style-type: none !important;
|
||||
}
|
||||
|
||||
#content li.with-icon {
|
||||
position: relative;
|
||||
margin-left: 40px;
|
||||
min-height: 30px;
|
||||
|
||||
p {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: 0;
|
||||
content: '';
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
&.tablet:before {
|
||||
background-image: url(ico_phone_tablet.png);
|
||||
}
|
||||
|
||||
&.web:before {
|
||||
background-image: url(ico_web.png);
|
||||
}
|
||||
|
||||
&.checklist:before {
|
||||
background-image: url(ico_checklist.png);
|
||||
}
|
||||
|
||||
&.action:before {
|
||||
background-image: url(ico_action.png);
|
||||
}
|
||||
|
||||
&.use:before {
|
||||
background-image: url(ico_use.png);
|
||||
}
|
||||
}
|
||||
|
||||
/* figures and callouts */
|
||||
|
||||
.figure {
|
||||
position: relative;
|
||||
|
||||
&.pad-below {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.figure-callout {
|
||||
position: absolute;
|
||||
color: #fff;
|
||||
font-weight: $boldweight;
|
||||
@include fontheight($large_text_size, 23px);
|
||||
text-align: center;
|
||||
background: transparent url(callout.png) no-repeat scroll 50% 50%;
|
||||
padding-right: 2px;
|
||||
width: 30px;
|
||||
height: 29px;
|
||||
z-index: 1000;
|
||||
|
||||
&.top {
|
||||
top: -9px;
|
||||
}
|
||||
|
||||
&.right {
|
||||
right: -5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.figure-caption {
|
||||
margin: 0 10px 20px 10px;
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* rows of figures */
|
||||
|
||||
.figure-row {
|
||||
@include fontheight(0, 0); /* to prevent space between figures */
|
||||
|
||||
.figure {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.figure + .figure {
|
||||
margin-left: 10px; /* reintroduce space between figures */
|
||||
}
|
||||
}
|
||||
|
||||
/* video containers */
|
||||
|
||||
.framed-galaxynexus-land-span-13 {
|
||||
background: transparent url(device_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
|
||||
padding: 42px 122px 62px 126px;
|
||||
overflow: hidden;
|
||||
|
||||
&,
|
||||
& video,
|
||||
& img {
|
||||
width: 512px;
|
||||
height: 286px;
|
||||
}
|
||||
}
|
||||
|
||||
.framed-galaxynexus-port-span-9 {
|
||||
background: transparent url(device_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
|
||||
padding: 95px 122px 107px 124px;
|
||||
overflow: hidden;
|
||||
|
||||
&,
|
||||
& video,
|
||||
& img {
|
||||
width: 274px;
|
||||
height: 488px;
|
||||
}
|
||||
}
|
||||
|
||||
.framed-galaxynexus-port-span-5 {
|
||||
background: transparent url(device_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
|
||||
padding: 75px 31px 76px 33px;
|
||||
overflow: hidden;
|
||||
|
||||
&,
|
||||
& video,
|
||||
& img {
|
||||
width: 216px;
|
||||
height: 384px;
|
||||
}
|
||||
}
|
||||
|
||||
/* landing page disclosures */
|
||||
|
||||
.landing-page-link {
|
||||
text-decoration: none;
|
||||
font-weight: $boldweight;
|
||||
color: $text_color_dark;
|
||||
|
||||
&:after {
|
||||
@include disclosure(right);
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
/* tooltips */
|
||||
|
||||
$tooltip_back_color: rgba(0,0,0,0.9);
|
||||
|
||||
.tooltip-box {
|
||||
position: absolute;
|
||||
background-color: $tooltip_back_color;
|
||||
border-radius: 2px;
|
||||
@include fontheight($small_text_size, $default_line_height);
|
||||
color: #fff;
|
||||
padding: 6px 10px;
|
||||
max-width: 250px;
|
||||
z-index: 10000;
|
||||
|
||||
&.below:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
line-height: 0;
|
||||
display: block;
|
||||
top: -10px;
|
||||
left: 5px;
|
||||
border: 5px solid transparent;
|
||||
border-bottom-color: $tooltip_back_color;
|
||||
}
|
||||
}
|
||||
|
||||
/* video note */
|
||||
|
||||
.video-instructions {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&:before {
|
||||
content: '';
|
||||
background: transparent url(ico_movie_inline.png) no-repeat scroll top left;
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: 'Click to replay movie.';
|
||||
}
|
||||
}
|
||||
|
||||
/* download buttons */
|
||||
|
||||
.download-button {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
text-decoration: none;
|
||||
background-color: $ics_blue;
|
||||
color: #fff !important;
|
||||
font-weight: $boldweight;
|
||||
box-shadow: 0 1px 1px $lighter_shadow_color;
|
||||
padding: 6px 12px;
|
||||
border-radius: 2px;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: $ics_blue_dark;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: $ics_blue_darkest;
|
||||
}
|
||||
}
|
||||
|
||||
/* UI tables and other things found in Writing style and Settings pattern */
|
||||
|
||||
.ui-table {
|
||||
width: 100%;
|
||||
background: #282828;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.25);
|
||||
border-collapse: separate;
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
thead th {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
tfoot td {
|
||||
border-top: 1px solid #494949;
|
||||
border-right: 1px solid #494949;
|
||||
text-align: center;
|
||||
|
||||
&:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.layout-with-list-item-margins {
|
||||
margin-left: 30px !important;
|
||||
}
|
||||
|
||||
.emulate-content-left-padding {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.do-dont-label {
|
||||
margin-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
background: transparent none no-repeat scroll 0px 3px;
|
||||
|
||||
&.bad {
|
||||
background-image: url(ico_wrong.png);
|
||||
}
|
||||
|
||||
&.good {
|
||||
background-image: url(ico_good.png);
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 990 B |
After Width: | Height: | Size: 989 B |
After Width: | Height: | Size: 992 B |
After Width: | Height: | Size: 977 B |
After Width: | Height: | Size: 415 B |
After Width: | Height: | Size: 318 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 302 B |
After Width: | Height: | Size: 437 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 286 B |
After Width: | Height: | Size: 980 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 27 KiB |
BIN
tools/droiddoc/templates-pdk/assets/images/home/devphone-large.png
Executable file → Normal file
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB |
BIN
tools/droiddoc/templates-pdk/assets/images/home/devphone-small.png
Executable file → Normal file
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 697 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1022 B |
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 848 B |
After Width: | Height: | Size: 889 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 972 B |
After Width: | Height: | Size: 1001 B |
After Width: | Height: | Size: 835 B |
After Width: | Height: | Size: 592 B |
After Width: | Height: | Size: 692 B |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,35 @@
|
|||
// Simple JavaScript Templating
|
||||
// John Resig - http://ejohn.org/ - MIT Licensed
|
||||
(function(){
|
||||
var cache = {};
|
||||
|
||||
this.tmpl = function tmpl(str, data){
|
||||
// Figure out if we're getting a template, or if we need to
|
||||
// load the template - and be sure to cache the result.
|
||||
var fn = !/\W/.test(str) ?
|
||||
cache[str] = cache[str] ||
|
||||
tmpl(document.getElementById(str).innerHTML) :
|
||||
|
||||
// Generate a reusable function that will serve as a template
|
||||
// generator (and which will be cached).
|
||||
new Function("obj",
|
||||
"var p=[],print=function(){p.push.apply(p,arguments);};" +
|
||||
|
||||
// Introduce the data as local variables using with(){}
|
||||
"with(obj){p.push('" +
|
||||
|
||||
// Convert the template into pure JavaScript
|
||||
str
|
||||
.replace(/[\r\t\n]/g, " ")
|
||||
.split("<%").join("\t")
|
||||
.replace(/((^|%>)[^\t]*)'/g, "$1\r")
|
||||
.replace(/\t=(.*?)%>/g, "',$1,'")
|
||||
.split("\t").join("');")
|
||||
.split("%>").join("p.push('")
|
||||
.split("\r").join("\\'")
|
||||
+ "');}return p.join('');");
|
||||
|
||||
// Provide some basic currying to the user
|
||||
return data ? fn( data ) : fn;
|
||||
};
|
||||
})();
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
|
||||
Code licensed under the BSD License:
|
||||
http://developer.yahoo.com/yui/license.html
|
||||
version: 3.3.0
|
||||
build: 3167
|
||||
*/
|
||||
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}
|
|
@ -1,15 +0,0 @@
|
|||
<?cs def:custom_left_nav() ?>
|
||||
<?cs if:doc.hidenav != "true" ?>
|
||||
<?cs if:doc.type == "source" ?>
|
||||
<?cs call:source_nav() ?>
|
||||
<?cs elif:doc.type == "porting" ?>
|
||||
<?cs call:porting_nav() ?>
|
||||
<?cs elif:doc.type == "compatibility" ?>
|
||||
<?cs call:compatibility_nav() ?>
|
||||
<?cs elif:doc.type == "community" ?>
|
||||
<?cs call:community_nav() ?>
|
||||
<?cs elif:doc.type == "about" ?>
|
||||
<?cs call:about_nav() ?>
|
||||
<?cs /if ?>
|
||||
<?cs /if ?>
|
||||
<?cs /def ?>
|
|
@ -4,24 +4,7 @@ def:custom_masthead() ?>
|
|||
<div id="headerLeft">
|
||||
<a href="<?cs var:toroot?>" tabindex="-1"><img
|
||||
src="<?cs var:toroot ?>assets/images/open_source.png" alt="Android Open Source Project" /></a>
|
||||
<ul class="<?cs if:home ?>home<?cs
|
||||
elif:doc.type == "source" ?>source<?cs
|
||||
elif:doc.type == "porting" ?>porting<?cs
|
||||
elif:doc.type == "compatibility" ?>compatibility<?cs
|
||||
elif:doc.type == "community" ?>community<?cs
|
||||
elif:doc.type == "about" ?>about<?cs /if ?>">
|
||||
<li id="home-link"><a href="<?cs var:toroot ?>index.html"><span>Home</span></a></li>
|
||||
<li id="source-link"><a href="<?cs var:toroot ?>source/index.html"
|
||||
onClick="return loadLast('source')"><span>Source</span></a></li>
|
||||
<li id="porting-link"><a href="<?cs var:toroot ?>porting/index.html"
|
||||
onClick="return loadLast('porting')"><span>Porting</span></a></li>
|
||||
<li id="compatibility-link"><a href="<?cs var:toroot ?>compatibility/index.html"
|
||||
onClick="return loadLast('compatibility')"><span>Compatibility</span></a></li>
|
||||
<li id="community-link"><a href="<?cs var:toroot ?>community/index.html"
|
||||
onClick="return loadLast('community')"><span>Community</span></a></li>
|
||||
<li id="about-link"><a href="<?cs var:toroot ?>about/index.html"
|
||||
onClick="return loadLast('about')"><span>About</span></a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div id="headerRight">
|
||||
<div id="headerLinks">
|
||||
|
@ -33,4 +16,4 @@ def:custom_masthead() ?>
|
|||
</div>
|
||||
</div><!-- headerRight -->
|
||||
</div><!-- header --><?cs
|
||||
/def ?><?cs # custom_masthead ?>
|
||||
/def ?><?cs # custom_masthead ?>
|
|
@ -0,0 +1,156 @@
|
|||
<?cs
|
||||
def:sdk_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../frameworks/base/docs/html/sdk/sdk_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<?cs /def ?>
|
||||
<?cs
|
||||
def:resources_tab_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../frameworks/base/docs/html/resources/resources_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
<?cs /def ?>
|
||||
<?cs
|
||||
def:guide_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../vendor/pdk/data/google/docs/guide/guide_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
<?cs /def ?>
|
||||
<?cs
|
||||
def:design_nav() ?>
|
||||
<?cs include:"../../../../frameworks/base/docs/html/design/design_toc.cs" ?>
|
||||
<?cs /def ?>
|
||||
|
||||
<?cs # The default side navigation for the reference docs ?><?cs
|
||||
def:default_left_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="swapper">
|
||||
<div id="nav-panels">
|
||||
<div id="resize-packages-nav">
|
||||
<div id="packages-nav">
|
||||
<div id="index-links"><nobr>
|
||||
<a href="<?cs var:toroot ?>reference/packages.html" <?cs if:(page.title == "Package Index") ?>class="selected"<?cs /if ?> >Package Index</a> |
|
||||
<a href="<?cs var:toroot ?>reference/classes.html" <?cs if:(page.title == "Class Index") ?>class="selected"<?cs /if ?>>Class Index</a></nobr>
|
||||
</div>
|
||||
<ul>
|
||||
<?cs call:package_link_list(docs.packages) ?>
|
||||
</ul><br/>
|
||||
</div> <!-- end packages -->
|
||||
</div> <!-- end resize-packages -->
|
||||
<div id="classes-nav"><?cs
|
||||
if:subcount(class.package) ?>
|
||||
<ul>
|
||||
<?cs call:list("Interfaces", class.package.interfaces) ?>
|
||||
<?cs call:list("Classes", class.package.classes) ?>
|
||||
<?cs call:list("Enums", class.package.enums) ?>
|
||||
<?cs call:list("Exceptions", class.package.exceptions) ?>
|
||||
<?cs call:list("Errors", class.package.errors) ?>
|
||||
</ul><?cs
|
||||
elif:subcount(package) ?>
|
||||
<ul>
|
||||
<?cs call:class_link_list("Interfaces", package.interfaces) ?>
|
||||
<?cs call:class_link_list("Classes", package.classes) ?>
|
||||
<?cs call:class_link_list("Enums", package.enums) ?>
|
||||
<?cs call:class_link_list("Exceptions", package.exceptions) ?>
|
||||
<?cs call:class_link_list("Errors", package.errors) ?>
|
||||
</ul><?cs
|
||||
else ?>
|
||||
<script>
|
||||
/*addLoadEvent(maxPackageHeight);*/
|
||||
</script>
|
||||
<p style="padding:10px">Select a package to view its members</p><?cs
|
||||
/if ?><br/>
|
||||
</div><!-- end classes -->
|
||||
</div><!-- end nav-panels -->
|
||||
<div id="nav-tree" style="display:none">
|
||||
<div id="index-links"><nobr>
|
||||
<a href="<?cs var:toroot ?>reference/packages.html" <?cs if:(page.title == "Package Index") ?>class="selected"<?cs /if ?> >Package Index</a> |
|
||||
<a href="<?cs var:toroot ?>reference/classes.html" <?cs if:(page.title == "Class Index") ?>class="selected"<?cs /if ?>>Class Index</a></nobr>
|
||||
</div>
|
||||
</div><!-- end nav-tree -->
|
||||
</div><!-- end swapper -->
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
if (!isMobile) {
|
||||
$("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
|
||||
chooseDefaultNav();
|
||||
if ($("#nav-tree").is(':visible')) {
|
||||
init_default_navtree("<?cs var:toroot ?>");
|
||||
} else {
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("packages-nav");
|
||||
scrollIntoView("classes-nav");
|
||||
});
|
||||
}
|
||||
$("#swapper").css({borderBottom:"2px solid #aaa"});
|
||||
} else {
|
||||
swapNav(); // tree view should be used on mobile
|
||||
}
|
||||
</script><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_left_nav() ?><?cs
|
||||
if:guide ?><?cs
|
||||
call:guide_nav() ?><?cs
|
||||
elif:resources ?><?cs
|
||||
call:resources_tab_nav() ?><?cs
|
||||
elif:sdk ?><?cs
|
||||
call:sdk_nav() ?><?cs
|
||||
else ?><?cs
|
||||
call:default_left_nav() ?><?cs
|
||||
/if ?><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs # appears at the bottom of every page ?><?cs
|
||||
def:custom_cc_copyright() ?>
|
||||
Except as noted, this content is
|
||||
licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
|
||||
Creative Commons Attribution 2.5</a>. For details and
|
||||
restrictions, see the <a href="<?cs var:toroot ?>license.html">Content
|
||||
License</a>.<?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_copyright() ?>
|
||||
Except as noted, this content is licensed under <a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
|
||||
For details and restrictions, see the <a href="<?cs var:toroot ?>license.html">
|
||||
Content License</a>.<?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_footerlinks() ?>
|
||||
<p>
|
||||
<a href="http://www.google.com/intl/en/policies/" target="_blank">Privacy & Terms</a> -
|
||||
<a href="http://www.android.com/branding.html" target="_blank">Brand Guidelines</a> -
|
||||
<a
|
||||
href="http://code.google.com/p/android/issues/entry?template=Developer%20Documentation"
|
||||
target="_blank">Report Document Issues</a>
|
||||
</p><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs # appears on the right side of the blue bar at the bottom off every page ?><?cs
|
||||
def:custom_buildinfo() ?>
|
||||
Android <?cs var:sdk.version ?> r<?cs var:sdk.rel.id ?> - <?cs var:page.now ?>
|
||||
<?cs /def ?>
|
|
@ -1,26 +1,18 @@
|
|||
<?cs # This file defines custom definitions for the masthead (logo, searchbox, tabs, etc) and
|
||||
left nav (toc) that gets placed on all pages, for the open source site. See also the components/
|
||||
directory. ?>
|
||||
|
||||
<?cs def:community_nav() ?>
|
||||
<?cs
|
||||
def:sdk_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first side-nav-resizable" id="side-nav">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../development/pdk/docs/community/community_toc.cs" ?>
|
||||
include:"../../../../frameworks/base/docs/html/sdk/sdk_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<?cs /def ?>
|
||||
<?cs def:about_nav() ?>
|
||||
<?cs
|
||||
def:resources_tab_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first side-nav-resizable" id="side-nav">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../development/pdk/docs/about/about_toc.cs" ?>
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../frameworks/base/docs/html/resources/resources_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
|
@ -28,13 +20,13 @@ directory. ?>
|
|||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<?cs /def ?>
|
||||
<?cs def:porting_nav() ?>
|
||||
<?cs
|
||||
def:guide_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first side-nav-resizable" id="side-nav">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../development/pdk/docs/porting/porting_toc.cs" ?>
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../vendor/pdk/data/google/docs/guide/guide_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
|
@ -42,50 +34,123 @@ directory. ?>
|
|||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<?cs /def ?>
|
||||
<?cs def:source_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first side-nav-resizable" id="side-nav">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../development/pdk/docs/source/source_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<?cs /def ?>
|
||||
<?cs def:compatibility_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first side-nav-resizable" id="side-nav">
|
||||
<div id="devdoc-nav"><?cs
|
||||
include:"../../../../development/pdk/docs/compatibility/compatibility_toc.cs" ?>
|
||||
</div>
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("devdoc-nav");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<?cs /def ?>
|
||||
<?cs def:custom_cc_copyright() ?>
|
||||
<?cs
|
||||
def:design_nav() ?>
|
||||
<?cs include:"../../../../frameworks/base/docs/html/design/design_toc.cs" ?>
|
||||
<?cs /def ?>
|
||||
|
||||
<?cs def:custom_copyright() ?>
|
||||
<?cs /def ?>
|
||||
<?cs # The default side navigation for the reference docs ?><?cs
|
||||
def:default_left_nav() ?>
|
||||
<div class="g-section g-tpl-240" id="body-content">
|
||||
<div class="g-unit g-first" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||
<div id="swapper">
|
||||
<div id="nav-panels">
|
||||
<div id="resize-packages-nav">
|
||||
<div id="packages-nav">
|
||||
<div id="index-links"><nobr>
|
||||
<a href="<?cs var:toroot ?>reference/packages.html" <?cs if:(page.title == "Package Index") ?>class="selected"<?cs /if ?> >Package Index</a> |
|
||||
<a href="<?cs var:toroot ?>reference/classes.html" <?cs if:(page.title == "Class Index") ?>class="selected"<?cs /if ?>>Class Index</a></nobr>
|
||||
</div>
|
||||
<ul>
|
||||
<?cs call:package_link_list(docs.packages) ?>
|
||||
</ul><br/>
|
||||
</div> <!-- end packages -->
|
||||
</div> <!-- end resize-packages -->
|
||||
<div id="classes-nav"><?cs
|
||||
if:subcount(class.package) ?>
|
||||
<ul>
|
||||
<?cs call:list("Interfaces", class.package.interfaces) ?>
|
||||
<?cs call:list("Classes", class.package.classes) ?>
|
||||
<?cs call:list("Enums", class.package.enums) ?>
|
||||
<?cs call:list("Exceptions", class.package.exceptions) ?>
|
||||
<?cs call:list("Errors", class.package.errors) ?>
|
||||
</ul><?cs
|
||||
elif:subcount(package) ?>
|
||||
<ul>
|
||||
<?cs call:class_link_list("Interfaces", package.interfaces) ?>
|
||||
<?cs call:class_link_list("Classes", package.classes) ?>
|
||||
<?cs call:class_link_list("Enums", package.enums) ?>
|
||||
<?cs call:class_link_list("Exceptions", package.exceptions) ?>
|
||||
<?cs call:class_link_list("Errors", package.errors) ?>
|
||||
</ul><?cs
|
||||
else ?>
|
||||
<script>
|
||||
/*addLoadEvent(maxPackageHeight);*/
|
||||
</script>
|
||||
<p style="padding:10px">Select a package to view its members</p><?cs
|
||||
/if ?><br/>
|
||||
</div><!-- end classes -->
|
||||
</div><!-- end nav-panels -->
|
||||
<div id="nav-tree" style="display:none">
|
||||
<div id="index-links"><nobr>
|
||||
<a href="<?cs var:toroot ?>reference/packages.html" <?cs if:(page.title == "Package Index") ?>class="selected"<?cs /if ?> >Package Index</a> |
|
||||
<a href="<?cs var:toroot ?>reference/classes.html" <?cs if:(page.title == "Class Index") ?>class="selected"<?cs /if ?>>Class Index</a></nobr>
|
||||
</div>
|
||||
</div><!-- end nav-tree -->
|
||||
</div><!-- end swapper -->
|
||||
</div> <!-- end side-nav -->
|
||||
<script>
|
||||
if (!isMobile) {
|
||||
$("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav");
|
||||
chooseDefaultNav();
|
||||
if ($("#nav-tree").is(':visible')) {
|
||||
init_default_navtree("<?cs var:toroot ?>");
|
||||
} else {
|
||||
addLoadEvent(function() {
|
||||
scrollIntoView("packages-nav");
|
||||
scrollIntoView("classes-nav");
|
||||
});
|
||||
}
|
||||
$("#swapper").css({borderBottom:"2px solid #aaa"});
|
||||
} else {
|
||||
swapNav(); // tree view should be used on mobile
|
||||
}
|
||||
</script><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_left_nav() ?><?cs
|
||||
if:guide ?><?cs
|
||||
call:guide_nav() ?><?cs
|
||||
elif:resources ?><?cs
|
||||
call:resources_tab_nav() ?><?cs
|
||||
elif:sdk ?><?cs
|
||||
call:sdk_nav() ?><?cs
|
||||
else ?><?cs
|
||||
call:default_left_nav() ?><?cs
|
||||
/if ?><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs # appears at the bottom of every page ?><?cs
|
||||
def:custom_cc_copyright() ?>
|
||||
Except as noted, this content is
|
||||
licensed under <a href="http://creativecommons.org/licenses/by/2.5/">
|
||||
Creative Commons Attribution 2.5</a>. For details and
|
||||
restrictions, see the <a href="<?cs var:toroot ?>license.html">Content
|
||||
License</a>.<?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_copyright() ?>
|
||||
Except as noted, this content is licensed under <a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
|
||||
For details and restrictions, see the <a href="<?cs var:toroot ?>license.html">
|
||||
Content License</a>.<?cs
|
||||
/def ?>
|
||||
|
||||
<?cs
|
||||
def:custom_footerlinks() ?>
|
||||
<p>
|
||||
<a href="http://www.android.com/terms.html">Site Terms of Service</a> -
|
||||
<a href="http://www.android.com/privacy.html">Privacy Policy</a>
|
||||
<a href="http://www.google.com/intl/en/policies/" target="_blank">Privacy & Terms</a> -
|
||||
<a href="http://www.android.com/branding.html" target="_blank">Brand Guidelines</a> -
|
||||
<a
|
||||
href="http://code.google.com/p/android/issues/entry?template=Developer%20Documentation"
|
||||
target="_blank">Report Document Issues</a>
|
||||
</p><?cs
|
||||
/def ?>
|
||||
|
||||
<?cs # appears on the right side of the blue bar at the bottom off every page ?>
|
||||
<?cs def:custom_buildinfo() ?>
|
||||
<?cs /def ?>
|
||||
<?cs # appears on the right side of the blue bar at the bottom off every page ?><?cs
|
||||
def:custom_buildinfo() ?>
|
||||
Android <?cs var:sdk.version ?> r<?cs var:sdk.rel.id ?> - <?cs var:page.now ?>
|
||||
<?cs /def ?>
|
|
@ -0,0 +1,108 @@
|
|||
<?cs include:"doctype.cs" ?>
|
||||
<?cs include:"macros.cs" ?>
|
||||
<html>
|
||||
<?cs include:"head_tag.cs" ?>
|
||||
<body class="gc-documentation" itemscope itemtype="http://schema.org/Article">
|
||||
<?cs include:"header.cs" ?>
|
||||
|
||||
<div class="g-unit" id="doc-content"><a name="top"></a>
|
||||
|
||||
<div id="jd-header" class="guide-header">
|
||||
<span class="crumb" itemprop="breadcrumb">
|
||||
<?cs if:parent.link ?>
|
||||
<a href="<?cs var:parent.link ?>"><?cs var:parent.title ?></a>:
|
||||
<?cs else ?>
|
||||
<?cs /if ?>
|
||||
</span>
|
||||
<h1 itemprop="name"><?cs var:page.title ?></h1>
|
||||
</div>
|
||||
|
||||
<?cs # THIS IS THE MAIN DOC CONTENT ?>
|
||||
<div id="jd-content">
|
||||
|
||||
<?cs if:trainingnavtop ?>
|
||||
<div class="training-nav-top">
|
||||
|
||||
<?cs if:next.link ?>
|
||||
<?cs if:startpage ?>
|
||||
<div class="training-nav-button-next">
|
||||
<a href="<?cs var:next.link ?>">
|
||||
Get started
|
||||
<span style="font-size:1.2em">›</span>
|
||||
<span class="training-nav-button-title"><?cs var:next.title ?></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?cs else ?><?cs # if not startpage ?>
|
||||
|
||||
<div class="training-nav-button-next">
|
||||
<a href="<?cs var:next.link ?>">
|
||||
Next lesson
|
||||
<span style="font-size:1.2em">›</span>
|
||||
<span class="training-nav-button-title"><?cs var:next.title ?></span>
|
||||
</a>
|
||||
</div>
|
||||
<?cs /if ?><?cs # end if/else startpage ?>
|
||||
|
||||
<?cs /if ?><?cs # end if next.link ?>
|
||||
|
||||
<?cs if:previous.link ?>
|
||||
<div class="training-nav-button-previous">
|
||||
<a href="<?cs var:previous.link ?>">
|
||||
<span style="font-size:1.2em">‹</span>
|
||||
Previous lesson
|
||||
<span class="training-nav-button-title"><?cs var:previous.title ?></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?cs /if ?><?cs # end if previous.link ?>
|
||||
|
||||
</div><!-- end training-nav-top -->
|
||||
<?cs /if ?><?cs # end if trainingnavtop ?>
|
||||
|
||||
|
||||
<div class="jd-descr" itemprop="articleBody">
|
||||
<?cs call:tag_list(root.descr) ?>
|
||||
</div>
|
||||
|
||||
<?cs if:!startpage && (previous.link || next.link) ?>
|
||||
<div class="training-nav-bottom">
|
||||
<?cs if:next.link ?>
|
||||
<div class="training-nav-button-next">
|
||||
<a href="<?cs var:next.link ?>">
|
||||
Next lesson
|
||||
<span style="font-size:1.2em">›</span>
|
||||
<br/><span class="training-nav-button-title"><?cs var:next.title ?></span>
|
||||
</a>
|
||||
</div>
|
||||
<?cs /if ?>
|
||||
|
||||
<?cs if:previous.link ?>
|
||||
<div class="training-nav-button-previous">
|
||||
<a href="<?cs var:previous.link ?>">
|
||||
<span style="font-size:1.2em">‹</span>
|
||||
Previous lesson
|
||||
<br/><span class="training-nav-button-title"><?cs var:previous.title ?></span>
|
||||
</a>
|
||||
</div>
|
||||
<?cs /if ?>
|
||||
</div> <!-- end training-nav -->
|
||||
<?cs /if ?>
|
||||
|
||||
<a href="#top" style="float:right">↑ Go to top</a>
|
||||
<?cs if:parent.link ?>
|
||||
<p><a href="<?cs var:parent.link ?>">← Back to <?cs var:parent.title ?></a></p>
|
||||
<?cs /if ?>
|
||||
|
||||
</div> <!-- end jd-content -->
|
||||
|
||||
<?cs include:"footer.cs" ?>
|
||||
</div><!-- end doc-content -->
|
||||
|
||||
<?cs include:"trailer.cs" ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
|
@ -1,41 +1,35 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="<?cs var:toroot ?>assets/favicon.ico" />
|
||||
<?cs if:page.metaDescription ?>
|
||||
<meta name="Description" content="<?cs var:page.metaDescription ?>">
|
||||
<?cs /if ?>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="<?cs var:toroot ?>favicon.ico" />
|
||||
<title><?cs
|
||||
if:page.title ?><?cs
|
||||
var:page.title ?><?cs
|
||||
if:sdk.version ?> (<?cs
|
||||
var:sdk.version ?>)<?cs
|
||||
/if ?> | <?cs
|
||||
/if ?>Android Open Source</title>
|
||||
<link href="<?cs var:toroot ?>assets/android-developer-docs-devguide.css" rel="stylesheet" type="text/css" />
|
||||
<!-- <link href="<?cs var:toroot ?>assets-pdk/pdk-local.css" rel="stylesheet" type="text/css" /> -->
|
||||
var:page.title ?> | <?cs
|
||||
/if ?>Android Developers</title><?cs
|
||||
if:guide||sdk||resources ?>
|
||||
<link href="<?cs var:toroot ?>assets/android-developer-docs-devguide.css" rel="stylesheet" type="text/css" /><?cs
|
||||
else ?>
|
||||
<link href="<?cs var:toroot ?>assets/android-developer-docs.css" rel="stylesheet" type="text/css" /><?cs
|
||||
/if ?>
|
||||
<script src="<?cs var:toroot ?>assets/search_autocomplete.js" type="text/javascript"></script>
|
||||
<script src="<?cs var:toroot ?>assets/jquery-resizable.min.js" type="text/javascript"></script>
|
||||
<script src="<?cs var:toroot ?>assets/android-developer-docs.js" type="text/javascript"></script>
|
||||
<script src="<?cs var:toroot ?>assets/prettify.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
setToRoot("<?cs var:toroot ?>");
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
function resizeDoxFrameHeight() {
|
||||
if(document.getElementById && !(document.all)) {
|
||||
height= document.getElementById('doxygen').contentDocument.body.scrollHeight + 20;
|
||||
document.getElementById('doxygen').style.height = height+"pt";
|
||||
}
|
||||
else if(document.all) {
|
||||
height= document.frames('doxygen').document.body.scrollHeight + 20;
|
||||
document.all.doxygen.style.height = height;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery("pre").addClass("prettyprint");
|
||||
});
|
||||
</script>
|
||||
</script><?cs
|
||||
if:reference ?>
|
||||
<script src="<?cs var:toroot ?>assets/android-developer-reference.js" type="text/javascript"></script>
|
||||
<script src="<?cs var:toroot ?>navtree_data.js" type="text/javascript"></script><?cs
|
||||
/if ?><?cs
|
||||
if:resources ?>
|
||||
<script src="<?cs var:toroot ?>resources/resources-data.js" type="text/javascript"></script><?cs
|
||||
/if ?>
|
||||
<noscript>
|
||||
<style type="text/css">
|
||||
body{overflow:auto;}
|
||||
html,body{overflow:auto;}
|
||||
#body-content{position:relative; top:0;}
|
||||
#doc-content{overflow:visible;border-left:3px solid #666;}
|
||||
#side-nav{padding:0;}
|
||||
|
@ -43,4 +37,4 @@
|
|||
#resize-packages-nav{border-bottom:3px solid #666;}
|
||||
</style>
|
||||
</noscript>
|
||||
</head>
|
||||
</head>
|
|
@ -0,0 +1,89 @@
|
|||
<ul id="header-tabs" class="<?cs
|
||||
if:reference ?>reference<?cs
|
||||
elif:guide ?>guide<?cs
|
||||
elif:sdk ?>sdk<?cs
|
||||
elif:home ?>home<?cs
|
||||
elif:resources ?>resources<?cs
|
||||
elif:videos ?>videos<?cs /if ?>">
|
||||
|
||||
<li id="home-link"><a href="<?cs var:toroot ?><?cs
|
||||
if:android.whichdoc != "online" ?>offline.html<?cs
|
||||
else ?>index.html<?cs /if ?>">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Home</span>
|
||||
<span style="display:none" class="de">Startseite</span>
|
||||
<span style="display:none" class="es"></span>
|
||||
<span style="display:none" class="fr"></span>
|
||||
<span style="display:none" class="it"></span>
|
||||
<span style="display:none" class="ja">ホーム</span>
|
||||
<span style="display:none" class="zh-CN">主页</span>
|
||||
<span style="display:none" class="zh-TW">首頁</span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
<li id="sdk-link"><a href="<?cs var:toroot ?>sdk/index.html">
|
||||
<span class="en">SDK</span>
|
||||
</a></li>
|
||||
<li id="guide-link"><a href="<?cs var:toroot ?>guide/index.html" onClick="return loadLast('guide')">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Dev Guide</span>
|
||||
<span style="display:none" class="de">Handbuch</span>
|
||||
<span style="display:none" class="es">Guía</span>
|
||||
<span style="display:none" class="fr">Guide</span>
|
||||
<span style="display:none" class="it">Guida</span>
|
||||
<span style="display:none" class="ja">開発ガイド</span>
|
||||
<span style="display:none" class="zh-CN">开发人员指南</span>
|
||||
<span style="display:none" class="zh-TW">開發指南</span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
<li id="reference-link"><a href="<?cs var:toroot ?>reference/packages.html" onClick="return loadLast('reference')">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Reference</span>
|
||||
<span style="display:none" class="de">Referenz</span>
|
||||
<span style="display:none" class="es">Referencia</span>
|
||||
<span style="display:none" class="fr">Référence</span>
|
||||
<span style="display:none" class="it">Riferimento</span>
|
||||
<span style="display:none" class="ja">リファレンス</span>
|
||||
<span style="display:none" class="zh-CN">参考</span>
|
||||
<span style="display:none" class="zh-TW">參考資料</span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
<li id="resources-link"><a href="<?cs var:toroot ?>resources/index.html" onClick="return loadLast('resources')">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Resources</span>
|
||||
<span style="display:none" class="de"></span>
|
||||
<span style="display:none" class="es"></span>
|
||||
<span style="display:none" class="fr"></span>
|
||||
<span style="display:none" class="it"></span>
|
||||
<span style="display:none" class="ja"></span>
|
||||
<span style="display:none" class="zh-CN"></span>
|
||||
<span style="display:none" class="zh-TW"></span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
<li id="videos-link"><a href="<?cs var:toroot ?>videos/index.html" onClick="return loadLast('videos')">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Videos</span>
|
||||
<span style="display:none" class="de"></span>
|
||||
<span style="display:none" class="es"></span>
|
||||
<span style="display:none" class="fr"></span>
|
||||
<span style="display:none" class="it"></span>
|
||||
<span style="display:none" class="ja">ビデオ</span>
|
||||
<span style="display:none" class="zh-CN"></span>
|
||||
<span style="display:none" class="zh-TW"></span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
<li><a href="http://android-developers.blogspot.com" onClick="return requestAppendHL(this.href)">
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<span class="en">Blog</span>
|
||||
<span style="display:none" class="de"></span>
|
||||
<span style="display:none" class="es"></span>
|
||||
<span style="display:none" class="fr"></span>
|
||||
<span style="display:none" class="it"></span>
|
||||
<span style="display:none" class="ja">ブログ</span>
|
||||
<span style="display:none" class="zh-CN">博客</span>
|
||||
<span style="display:none" class="zh-TW">網誌</span>
|
||||
<?cs /if ?>
|
||||
</a></li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
|
@ -0,0 +1,53 @@
|
|||
<?cs include:"doctype.cs" ?>
|
||||
<?cs include:"macros.cs" ?>
|
||||
<?cs set:resources="true" ?>
|
||||
<html>
|
||||
<?cs include:"head_tag.cs" ?>
|
||||
<?cs include:"header.cs" ?>
|
||||
<body class="gc-documentation">
|
||||
|
||||
|
||||
<a name="top"></a>
|
||||
<div class="g-unit" id="doc-content">
|
||||
<div id="jd-header" class="guide-header">
|
||||
<span class="crumb">
|
||||
<a href="<?cs var:toroot ?>resources/browser.html?tag=sample">Sample Code</a> >
|
||||
</span>
|
||||
<h1><?cs var:page.title ?></h1>
|
||||
</div>
|
||||
|
||||
<div id="jd-content">
|
||||
<p><a href="../index.html">← Back</a></p>
|
||||
|
||||
<?cs var:summary ?>
|
||||
|
||||
<?cs if:subcount(subdirs) ?>
|
||||
<h2>Subdirectories</h2>
|
||||
<ul class="nolist">
|
||||
<?cs each:dir=subdirs ?>
|
||||
<li><a href="<?cs var:dir.name ?>/index.html"><?cs
|
||||
var:dir.name ?>/</a></li>
|
||||
<?cs /each ?>
|
||||
</ul>
|
||||
<?cs /if ?>
|
||||
|
||||
<?cs if:subcount(files) ?>
|
||||
<h2>Files</h2>
|
||||
<ul class="nolist">
|
||||
<?cs each:file=files ?>
|
||||
<li><a href="<?cs var:file.href ?>"><?cs
|
||||
var:file.name ?></a></li>
|
||||
<?cs /each ?>
|
||||
</ul>
|
||||
<?cs /if ?>
|
||||
|
||||
</div><!-- end jd-content -->
|
||||
|
||||
<?cs include:"footer.cs" ?>
|
||||
|
||||
</div><!-- end doc-content -->
|
||||
|
||||
<?cs include:"trailer.cs" ?>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,256 @@
|
|||
<?cs include:"doctype.cs" ?>
|
||||
<?cs include:"macros.cs" ?>
|
||||
<html>
|
||||
<?cs if:sdk.redirect ?>
|
||||
<head>
|
||||
<title>Redirecting...</title>
|
||||
<meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
|
||||
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
|
||||
else ?>index.html<?cs /if ?>">
|
||||
<link href="<?cs var:toroot ?>assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<?cs else ?>
|
||||
<?cs include:"head_tag.cs" ?>
|
||||
<?cs /if ?>
|
||||
<body class="gc-documentation" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<a name="top"></a>
|
||||
<?cs call:custom_masthead() ?>
|
||||
|
||||
<?cs call:sdk_nav() ?>
|
||||
|
||||
<?cs if:sdk.redirect ?>
|
||||
|
||||
<div class="g-unit">
|
||||
<div id="jd-content">
|
||||
<p>Redirecting to
|
||||
<a href="<?cs var:toroot ?>sdk/<?cs
|
||||
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
|
||||
else ?>index.html<?cs /if ?>"><?cs
|
||||
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
|
||||
else ?>Download the SDK<?cs /if ?>
|
||||
</a> ...</p>
|
||||
|
||||
<?cs else ?>
|
||||
<?cs # else, if NOT redirect ...
|
||||
#
|
||||
#
|
||||
# The following is for SDK/NDK pages
|
||||
#
|
||||
#
|
||||
?>
|
||||
|
||||
<div class="g-unit" id="doc-content" >
|
||||
<div id="jd-header" class="guide-header" >
|
||||
<span class="crumb"> </span>
|
||||
<h1 itemprop="name"><?cs if:android.whichdoc == "online" ?>Download the <?cs /if ?><?cs
|
||||
var:page.title ?></h1>
|
||||
</div>
|
||||
|
||||
<div id="jd-content" itemprop="description">
|
||||
|
||||
<?cs if:sdk.not_latest_version ?>
|
||||
<div class="special">
|
||||
<p><strong>This is NOT the current Android SDK release.</strong></p>
|
||||
<p><a href="/sdk/index.html">Download the current Android SDK</a></p>
|
||||
</div>
|
||||
<?cs /if ?>
|
||||
|
||||
|
||||
<?cs if:ndk ?>
|
||||
<?cs #
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# the following is for the NDK
|
||||
#
|
||||
# (nested in if/else redirect)
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
?>
|
||||
|
||||
<p>The Android NDK is a companion tool to the Android SDK that lets you build
|
||||
performance-critical portions of your apps in native code. It provides headers and
|
||||
libraries that allow you to build activities, handle user input, use hardware sensors,
|
||||
access application resources, and more, when programming in C or C++. If you write
|
||||
native code, your applications are still packaged into an .apk file and they still run
|
||||
inside of a virtual machine on the device. The fundamental Android application model
|
||||
does not change.</p>
|
||||
|
||||
<p>Using native code does not result in an automatic performance increase,
|
||||
but always increases application complexity. If you have not run into any limitations
|
||||
using the Android framework APIs, you probably do not need the NDK. Read <a
|
||||
href="<?cs var:toroot ?>sdk/ndk/overview.html">What is the NDK?</a> for more information about what
|
||||
the NDK offers and whether it will be useful to you.
|
||||
</p>
|
||||
<p>
|
||||
The NDK is designed for use <em>only</em> in conjunction with the
|
||||
Android SDK. If you have not already installed and setup the <a
|
||||
href="http://developer.android.com/sdk/index.html">Android SDK</a>, please
|
||||
do so before downloading the NDK.
|
||||
</p>
|
||||
|
||||
<table class="download">
|
||||
<tr>
|
||||
<th>Platform</th>
|
||||
<th>Package</th>
|
||||
<th>Size</th>
|
||||
<th>MD5 Checksum</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Windows</td>
|
||||
<td>
|
||||
<a href="http://dl.google.com/android/ndk/<?cs var:ndk.win_download ?>"><?cs var:ndk.win_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:ndk.win_bytes ?> bytes</td>
|
||||
<td><?cs var:ndk.win_checksum ?></td>
|
||||
</tr>
|
||||
<tr class="alt-color">
|
||||
<td>Mac OS X (intel)</td>
|
||||
<td>
|
||||
<a href="http://dl.google.com/android/ndk/<?cs var:ndk.mac_download ?>"><?cs var:ndk.mac_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:ndk.mac_bytes ?> bytes</td>
|
||||
<td><?cs var:ndk.mac_checksum ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linux 32/64-bit (x86)</td>
|
||||
<td>
|
||||
<a href="http://dl.google.com/android/ndk/<?cs var:ndk.linux_download ?>"><?cs var:ndk.linux_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:ndk.linux_bytes ?> bytes</td>
|
||||
<td><?cs var:ndk.linux_checksum ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?cs else ?>
|
||||
<?cs # end if NDK ...
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# the following is for the SDK
|
||||
#
|
||||
# (nested in if/else redirect and if/else NDK)
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
?>
|
||||
<?cs if:android.whichdoc == "online" ?>
|
||||
|
||||
<p>Welcome Developers! If you are new to the Android SDK, please read the steps below, for an
|
||||
overview of how to set up the SDK. </p>
|
||||
|
||||
<p>If you're already using the Android SDK, you should
|
||||
update to the latest tools or platform using the <em>Android SDK and AVD Manager</em>, rather than
|
||||
downloading a new SDK starter package. See <a
|
||||
href="<?cs var:toroot ?>sdk/adding-components.html">Adding SDK Components</a>.</p>
|
||||
|
||||
<table class="download">
|
||||
<tr>
|
||||
<th>Platform</th>
|
||||
<th>Package</th>
|
||||
<th>Size</th>
|
||||
<th>MD5 Checksum</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2">Windows</td>
|
||||
<td>
|
||||
<a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download
|
||||
?>"><?cs var:sdk.win_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:sdk.win_bytes ?> bytes</td>
|
||||
<td><?cs var:sdk.win_checksum ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- blank TD from Windows rowspan -->
|
||||
<td>
|
||||
<a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_installer
|
||||
?>"><?cs var:sdk.win_installer ?></a> (Recommended)
|
||||
</td>
|
||||
<td><?cs var:sdk.win_installer_bytes ?> bytes</td>
|
||||
<td><?cs var:sdk.win_installer_checksum ?></td>
|
||||
</tr>
|
||||
<tr class="alt-color">
|
||||
<td>Mac OS X (intel)</td>
|
||||
<td>
|
||||
<a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.mac_download
|
||||
?>"><?cs var:sdk.mac_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:sdk.mac_bytes ?> bytes</td>
|
||||
<td><?cs var:sdk.mac_checksum ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linux (i386)</td>
|
||||
<td>
|
||||
<a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.linux_download
|
||||
?>"><?cs var:sdk.linux_download ?></a>
|
||||
</td>
|
||||
<td><?cs var:sdk.linux_bytes ?> bytes</td>
|
||||
<td><?cs var:sdk.linux_checksum ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<div id="next-steps" style="display:none">
|
||||
<p><b><em><span id="filename"></span></em> is now downloading. Follow the steps below to
|
||||
get started.</b></p>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
function onDownload(link) {
|
||||
$("#filename").text($(link).html());
|
||||
$("#next-steps").show();
|
||||
}
|
||||
</script>
|
||||
<?cs else ?> <?cs # end if online ?>
|
||||
|
||||
<?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
|
||||
<p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
|
||||
Android 3.0 release, to give you a head-start on developing applications for it.
|
||||
</p>
|
||||
|
||||
<p>See the <a
|
||||
href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
|
||||
about how to set up the preview SDK and get started.</p>
|
||||
<style type="text/css">
|
||||
.non-preview { display:none; }
|
||||
</style>
|
||||
|
||||
<?cs else ?><?cs # it's normal offline docs ?>
|
||||
<style type="text/css">
|
||||
p.offline-message { display:block; }
|
||||
p.online-message { display:none; }
|
||||
</style>
|
||||
<?cs /if ?>
|
||||
|
||||
<?cs /if ?> <?cs # end if/else online ?>
|
||||
|
||||
<?cs /if ?> <?cs # end if/else NDK ?>
|
||||
|
||||
<?cs /if ?> <?cs # end if/else redirect ?>
|
||||
|
||||
<?cs call:tag_list(root.descr) ?>
|
||||
|
||||
</div><!-- end jd-content -->
|
||||
|
||||
<?cs if:!sdk.redirect ?>
|
||||
<?cs include:"footer.cs" ?>
|
||||
<?cs /if ?>
|
||||
|
||||
</div><!-- end g-unit -->
|
||||
|
||||
<?cs include:"trailer.cs" ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|