Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b954cab2 authored by David Friedman's avatar David Friedman Committed by Android Git Automerger
Browse files

am a7ab46d1: Merge "Localization of Android Material Design pages. Bug: 19125767" into lmp-docs

* commit 'a7ab46d1':
  Localization of Android Material Design pages. Bug: 19125767
parents ccb8a9af a7ab46d1
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
page.title=Diseño
page.viewport_width=970
section.landing=original
meta.tags="beautifulapps, design, ux, patterns, holo, appquality, landing"
header.hide=1
footer.hide=1 

@jd:body

<style>
#landing-graphic-container {
  position: relative;
}

#text-overlay {
  position: absolute;
  left: 0;
  top: 42px;
  width: 266px;

}
#hero-image {
  padding-left:68px;
}
</style>

<div id="landing-graphic-container">
  <div id="text-overlay">
    <span itemprop="description">Bienvenido a <strong>Diseño Android</strong>, tu lugar para aprender a diseñar aplicaciones de Android excepcionales.</span>
    <br><br>
    ¿Quieres saber lo que <strong>Android 5.0</strong> tiene para los diseñadores? Consulta <a href="{@docRoot}design/patterns/new.html">Nuevo en Android</a>.<br><br>
    <a href="/design/get-started/creative-vision.html" class="landing-page-link">Visión creativa</a>
  </div>
  <a id="hero-image" href="/design/get-started/creative-vision.html"> <img src="{@docRoot}design/media/index_landing_page.png" width="760" height="600" alt="" srcset="{@docRoot}design/media/index_landing_page_2x.png 2x" /> </a>

<div style="background: hsl(8, 70%, 54%); margin: 0; padding: 20px 20px 10px 20px;color: #fff; position: absolute;top: 255px;width: 179px;">
<h2 style="color: #fff;margin:0 0 10px; font-size:18px" class="norule">Diseño Material</h2>
<p>Android 5.0 introduce una metáfora de diseño inspirada en papel y tinta, que proporciona un sentido distendido de lo táctil.
</p>
<p><a class="white" href="{@docRoot}design/material/index.html">Obtener más información</a></p>
</div>

</div> 
 No newline at end of file
+456 −0

File added.

Preview size limit exceeded, changes collapsed.

+134 −0
Original line number Diff line number Diff line
page.title=Mantener la compatibilidad 

@jd:body

<div id="tb-wrapper">
<div id="tb">
<h2>Esta lección te enseña a</h2>
<ol>
  <li><a href="#Theme">Definir estilos alternativos</a></li>
  <li><a href="#Layouts">Proporcionar diseños alternativos</a></li>
  <li><a href="#SupportLib">Usar la Biblioteca de soporte</a></li>
  <li><a href="#CheckVersion">Comprobar la versión del sistema</a></li>
</ol>
<h2>También deberías leer</h2>
<ul>
  <li><a href="http://www.google.com/design/spec">Especificación de Material Design</a></li>
  <li><a href="{@docRoot}design/material/index.html">Material Design en Android</a></li>
</ul>
</div>
</div>


<p>Algunas características de Material Design como el tema material y las transiciones de actividades personalizadas solo están disponibles en Android 5.0 (nivel 21 de la API) y superior. Sin embargo, puedes diseñar tus aplicaciones para usar estas características al ejecutar en dispositivos que admiten Material Design y aún son compatibles con dispositivos que ejecutan versiones anteriores de Android.</p>


<h2 id="Theme">Definir estilos alternativos</h2>

<p>Puedes configurar tu aplicación para usar el tema material en los dispositivos que los admiten y revertir a un tema anterior en los dispositivos que ejecutan versiones anteriores de Android:</p>

<ol>
<li>Define un tema que herede de un tema anterior (como Holo) en <code>res/values/styles.xml</code>.</li>
<li>Define un tema con el mismo nombre que hereda del tema material en <code>res/values-v21/styles.xml</code>.</li>
<li>Establece este tema como el tema de tu aplicación en el archivo de manifiesto.</li>
</ol>

<p class="note"><strong>Nota:</strong> Si tu aplicación usa el tema material pero no proporciona un tema alternativo, tu aplicación no se ejecutará en versiones de Android anteriores a la versión 5.0.
</p>


<h2 id="Layouts">Proporcionar diseños alternativos</h2>

<p>Si los diseños que realizas de acuerdo con las pautas de Material Design no usan ninguno de los nuevos atributos XML introducidos en Android 5.0 (nivel de API 21), estos trabajarán en versiones anteriores de Android. De lo contrario, puedes proporcionar diseños alternativos. También puedes proporcionar diseños alternativos para personalizar la apariencia de tu aplicación en versiones anteriores de Android.</p>

<p>Crea tus archivos de diseño para Android 5.0 (nivel de API 21) dentro de <code>res/layout-v21/</code> y tus archivos de diseño alternativo para versiones anteriores de Android dentro de <code>res/layout/</code>. Por ejemplo, <code>res/layout/my_activity.xml</code> es un diseño alternativo para <code>res/layout-v21/my_activity.xml</code>.</p>

<p>Para evitar duplicación de código, define tus estilos en <code>res/values/</code>, modifica estilos en <code>res/values-v21/</code> para las nuevas API y usa transmisión por herencia de estilos, al definir estilos base en <code>res/values/</code> y al heredar de estos en <code>res/values-v21/</code>.</p>


<h2 id="SupportLib">Usar la Biblioteca de soporte</h2>

<p>Las <a href="{@docRoot}tools/support-library/features.html#v7">Bibliotecas de soporte v7</a> r21 y superiores incluyen las siguientes características de Material Design:</p>

<ul>
<li><a href="{@docRoot}training/material/theme.html">Estilos de Material Design</a> para algunos widgets del sistema cuando aplicas uno de los temas <code>Theme.AppCompat</code>.</li>
<li><a href="{@docRoot}training/material/theme.html#ColorPalette">Atributos del tema de la paleta de colores</a> en los temas <code>Theme.AppCompat</code>.</li>
<li>El widget {@link android.support.v7.widget.RecyclerView} para <a href="{@docRoot}training/material/lists-cards.html#RecyclerView">mostrar conjuntos de datos</a>.</li>
<li>El widget {@link android.support.v7.widget.CardView} para <a href="{@docRoot}training/material/lists-cards.html#CardView">crear tarjetas</a>.</li>
<li>La clase {@link android.support.v7.graphics.Palette} para <a href="{@docRoot}training/material/drawables.html#ColorExtract">extraer colores prominentes de imágenes</a>.</li>
</ul>

<h3>Widgets del sistema</h3>

<p>Los temas <code>Theme.AppCompat</code> proporcionan estilos de Material Design para estos widgets:</p>

<ul>
  <li>{@link android.widget.EditText}</li>
  <li>{@link android.widget.Spinner}</li>
  <li>{@link android.widget.CheckBox}</li>
  <li>{@link android.widget.RadioButton}</li>
  <li>{@link android.support.v7.widget.SwitchCompat}</li>
  <li>{@link android.widget.CheckedTextView}</li>
</ul>

<h3>Paleta de colores</h3>

<p>Para obtener estilos de Material Design y personalizar la paleta de colores con la Biblioteca de soporte v7 de Android, aplica uno de los temas <code>Theme.AppCompat</code>:</p>

<pre>
&lt;!-- extend one of the Theme.AppCompat themes -->
&lt;style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    &lt;!-- customize the color palette -->
    &lt;item name="colorPrimary">@color/material_blue_500&lt;/item>
    &lt;item name="colorPrimaryDark">@color/material_blue_700&lt;/item>
    &lt;item name="colorAccent">@color/material_green_A200&lt;/item>
&lt;/style>
</pre>

<h3>Listas y tarjetas</h3>

<p>Los widgets {@link android.support.v7.widget.RecyclerView} y {@link android.support.v7.widget.CardView} están disponible en versiones anteriores de Android mediante la Biblioteca de soporte v7 con estas limitaciones:</p>
<ul>
<li>{@link android.support.v7.widget.CardView} regresa a una implementación de sombras programáticas mediante el uso de espaciado adicional.</li>
<li>{@link android.support.v7.widget.CardView} no recorta las vistas de sus hijos que forman intersecciones con esquinas redondeadas.</li>
</ul>


<h3>Dependencias</h3>

<p>Para usar estas características en versiones de Android anteriores a la 5.0 (nivel de API 21), incluye en tu proyecto la Biblioteca de soporte v7 de Android como una <a href="{@docRoot}/sdk/installing/studio-build.html#dependencies">Dependencia Gradle</a>:</p>

<pre>
dependencies {
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.android.support:cardview-v7:21.0.+'
    compile 'com.android.support:recyclerview-v7:21.0.+'
}
</pre>


<h2 id="CheckVersion">Comprobar la versión del sistema</h2>

<p>Las siguientes características están disponibles solo en Android 5.0 (nivel de API 21) y superior:</p>

<ul>
<li>Transiciones de actividades</li>
<li>Respuesta táctil</li>
<li>Animaciones con el efecto revelar</li>
<li>Animaciones basadas en rutas</li>
<li>Interfaces dibujables en vector</li>
<li>Matiz de la interfaz dibujable</li>
</ul>

<p>Para conservar la compatibilidad con versiones anteriores de Android, comprueba el sistema {@link android.os.Build.VERSION#SDK_INT version} en tiempo de ejecución antes de invocar las API para cualquiera de estas características:</p>

<pre>
// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}
</pre>

<p class="note"><strong>Nota:</strong> Para especificar qué versiones de Android admite tu aplicación, usa los atributos <code>android:minSdkVersion</code> y <code>android:targetSdkVersion</code> en tu archivo de manifiesto. Para usar las características de Material Design en Android 5.0, establece el atributo <code>android:targetSdkVersion</code> para <code>21</code>. Para más información, consulta la <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">guía de &lt;uses-sdk&gt; de la API</a>.</p> 
 No newline at end of file
+105 −0
Original line number Diff line number Diff line
page.title=Trabajar con interfaces dibujables 

@jd:body

<div id="tb-wrapper">
<div id="tb">
<h2>Esta lección te enseña a</h2>
<ol>
  <li><a href="#DrawableTint">Cambiar el matiz de los recursos dibujables</a></li>
  <li><a href="#ColorExtract">Extraer colores prominentes de una imagen</a></li>
  <li><a href="#VectorDrawables">Crear interfaces dibujables en vector</a></li>
</ol>
<h2>También deberías leer</h2>
<ul>
  <li><a href="http://www.google.com/design/spec">Especificación de Material Design</a></li>
  <li><a href="{@docRoot}design/material/index.html">Diseño material en Android</a></li>
</ul>
</div>
</div>

<p>Las siguientes capacidades para las interfaces dibujables te ayudan a implementar Material Design en tus aplicaciones:</p>

<ul>
<li>Matiz de la interfaz dibujable</li>
<li>Extracción de color prominente</li>
<li>Interfaces dibujables en vector</li>
</ul>

<p>Esta lección te muestra cómo usar estas características en tu aplicación.</p>


<h2 id="DrawableTint">Cambiar el matiz de los recursos dibujables</h2>

<p>Con Android 5.0 (nivel de API 21) y superior, puedes cambiar el matiz de los mapas de bits y nueve parches definidos como máscaras alfa. Puedes cambiar el matiz con recursos de colores o atributos de temas que se resuelven a recursos de colores (por ejemplo, <code>?android:attr/colorPrimary</code>). Generalmente, puedes crear estos materiales solo una vez y agregarles color automáticamente para que coincidan con tu tema.</p>

<p>Puedes aplicar un matiz a los objetos {@link android.graphics.drawable.BitmapDrawable} o {@link android.graphics.drawable.NinePatchDrawable} con el método {@code setTint()}. También puedes establecer el color de matiz y el modo en tus diseños con los atributos <code>android:tint</code> y <code>android:tintMode</code>.</p>


<h2 id="ColorExtract">Extraer colores prominentes de una imagen</h2>

<p>La Biblioteca de soporte de Android r21 y superiores incluye la clase {@link android.support.v7.graphics.Palette}, que te permite extraer colores prominentes de una imagen. Esta clase extrae los siguientes colores prominentes:</p>

<ul>
<li>Brillante</li>
<li>Oscuro brillante</li>
<li>Claro brillante</li>
<li>Apagado</li>
<li>Oscuro apagado</li>
<li>Claro apagado</li>
</ul>

<p>Para extraer estos colores, pasa un objeto {@link android.graphics.Bitmap} al método estático {@link android.support.v7.graphics.Palette#generate Palette.generate()} en el subproceso de fondo en donde cargas tus imágenes. Si no puedes usar dicho subproceso, llama al método {@link android.support.v7.graphics.Palette#generateAsync Palette.generateAsync()} y proporciona un oyente (o gestor de eventos) en su lugar.</p>

<p>Puedes recuperar los colores prominentes de la imagen mediante los métodos de obtención en la clase <code>Palette</code>, como <code>Palette.getVibrantColor</code>.</p>

<p>Para usar la clase {@link android.support.v7.graphics.Palette} en tu proyecto, agrega la siguiente <a href="{@docRoot}sdk/installing/studio-build.html#dependencies">Dependencia Gradle</a> al módulo de tu aplicación:</p>

<pre>
dependencies {
    ...
    compile 'com.android.support:palette-v7:21.0.+'
}
</pre>

<p>Para más información, consulta la referencia de la API para la clase {@link android.support.v7.graphics.Palette}.</p>


<h2 id="VectorDrawables">Crear interfaces dibujables en vector</h2>

<!-- video box -->
<a class="notice-developers-video"
href="https://www.youtube.com/watch?v=wlFVIIstKmA" style="margin-top:18px">
<div>
    <h3>Video</h3>
    <p>Gráficos en vector de Android</p>
</div>
</a>

<p>En Android 5.0 (nivel de API 21) y superiores, puedes definir las interfaces dibujables en vector, que escalan sin perder definición. Solo necesitas un archivo de recurso para una imagen en vector, en oposición a un archivo de recurso para la densidad de cada pantalla en el caso de imágenes de mapa de bits. Para crear una imagen en vector, defines los detalles de la forma dentro de un elemento XML <code>&lt;vector&gt;</code>.</p>

<p>El siguiente ejemplo define una imagen en vector con la forma de un corazón:</p>

<pre>
&lt;!-- res/drawable/heart.xml -->
&lt;vector xmlns:android="http://schemas.android.com/apk/res/android"
    &lt;!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    &lt;!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  &lt;!-- draw a path -->
  &lt;path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
&lt;/vector>
</pre>

<p>Las imágenes en vector están representadas en Android como objetos {@link android.graphics.drawable.VectorDrawable}. Para más información sobre la sintaxis <code>pathData</code>, consulta la <a href="http://www.w3.org/TR/SVG11/paths.html#PathData">referencia de ruta de acceso SVG</a>. Para más información sobre la animación de las propiedades de las interfaces dibujables en vector, consulta <a href="{@docRoot}training/material/animations.html#AnimVector">Animación de interfaces dibujables en vector</a>.</p> 
 No newline at end of file
+147 −0
Original line number Diff line number Diff line
page.title=Comencemos 

@jd:body

<div id="tb-wrapper">
<div id="tb">
<h2>Esta lección te enseña a</h2>
<ol>
  <li><a href="#ApplyTheme">Aplicar el tema Material</a></li>
  <li><a href="#Layouts">Realizar tus diseños</a></li>
  <li><a href="#Depth">Especificar la elevación en tus vistas</a></li>
  <li><a href="#ListsCards">Crear listas y tarjetas</a></li>
  <li><a href="#Animations">Personalizar tus animaciones</a></li>
</ol>
<h2>También deberías leer</h2>
<ul>
  <li><a href="http://www.google.com/design/spec">Especificación de Material Design</a></li>
  <li><a href="{@docRoot}design/material/index.html">Material Design en Android</a></li>
</ul>
</div>
</div>


<p>Para crear aplicaciones con Material Design:</p>

<ol>
  <li style="margin-bottom:10px">
    Revisar la <a href="http://www.google.com/design/spec">especificación de Material Design</a>.</li>
  <li style="margin-bottom:10px">
    Aplicar el <strong>tema</strong> material a tu aplicación.</li>
  <li style="margin-bottom:10px">
    Crear tus <strong>diseños</strong> siguiendo las pautas de Material Design.</li>
  <li style="margin-bottom:10px">
    Especificar la <strong>elevación</strong> de tus vistas para convertir sombras.</li>
  <li style="margin-bottom:10px">
    Usar <strong>widgets</strong> del sistema para listas y tarjetas.</li>
  <li style="margin-bottom:10px">
    Personalizar las <strong>animaciones</strong> en tu aplicación.</li>
</ol>

<h3>Mantener la compatibilidad con versiones anteriores</h3>

<p>Puedes agregar muchas características de Material Design a tu aplicación mientras mantienes la compatibilidad con las versiones anteriores a Android 5.0. Para más información, consulta <a href="{@docRoot}training/material/compatibility.html">Mantener la compatibilidad</a>.</p>

<h3>Actualización de tu aplicación con Material Design</h3>

<p>Para actualizar una aplicación existente para incorporar Material Design, actualiza tus diseños siguiendo las pautas de Material Design. Además, asegúrate de incorporar profundidad, respuesta táctil y animaciones.</p>

<h3>Crear nuevas aplicaciones con Material Design</h3>

<p>Si creas una nueva aplicación con las características de Material Design, las <a href="http://www.google.com/design/spec">pautas de Material Design</a> te proporcionan un framework de diseño cohesivo. Sigue estas pautas y usa la nueva funcionalidad del framework de Android para diseñar y desarrollar tu aplicación.</p>


<h2 id="ApplyTheme">Aplicar el tema Material</h2>

<p>Para aplicar el tema material en tu aplicación, especifica el estilo que hereda de <code>android:Theme.Material</code>:</p>

<pre>
&lt;!-- res/values/styles.xml -->
&lt;resources>
  &lt;!-- your theme inherits from the material theme -->
  &lt;style name="AppTheme" parent="android:Theme.Material">
    &lt;!-- theme customizations -->
  &lt;/style>
&lt;/resources>
</pre>

<p>El tema material proporciona widgets de sistema actualizados y te permite establecer la paleta de colores y las animaciones predeterminadas para la respuesta táctil y las transiciones de actividades. Para obtener más detalles, consulta <a href="{@docRoot}training/material/theme.html">Usar el tema Material</a>.</p>


<h2 id="Layouts">Realizar tus diseños</h2>

<p>Además de aplicar y personalizar el tema material, tus diseños deben cumplir con las <a href="http://www.google.com/design/spec">pautas de Material Design</a>. Cuando realices tus diseños, presta especial atención a lo siguiente:</p>

<ul>
<li>Cuadrículas de referencia</li>
<li>Líneas clave</li>
<li>Espaciado</li>
<li>Tamaño del objetivo táctil</li>
<li>Estructura del diseño</li>
</ul>


<h2 id="Depth">Especificar la elevación en tus vistas</h2>

<p>Las vistas pueden proyectar sombras y el valor de elevación de una vista determina el tamaño de su sombra y el orden en que será dibujada. Para establecer la elevación de una vista, usa el atributo <code>android:elevation</code> en tus diseños:</p>

<pre>
&lt;TextView
    android:id="&#64;+id/my_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="&#64;string/next"
    android:background="&#64;color/white"
    android:elevation="5dp" />
</pre>

<p>La nueva propiedad <code>translationZ</code> te permite crear animaciones que reflejen cambios temporales en la elevación de una vista. Los cambios de elevación pueden ser útiles cuando <a href="{@docRoot}training/material/animations.html#ViewState">responden a gestos táctiles</a>.</p>

<p>Para obtener más detalles, consulta <a href="{@docRoot}training/material/shadows-clipping.html">Definir vistas de recorte y sombras</a>.</p>


<h2 id="ListsCards">Crear listas y tarjetas</h2>

<p>{@link android.support.v7.widget.RecyclerView} es una versión más acoplable de {@link android.widget.ListView} que admite diferentes tipos de diseños y proporciona mejoras en el rendimiento. {@link android.support.v7.widget.CardView} te permite mostrar partes de información dentro de las tarjetas con una apariencia consistente entre distintas aplicaciones. El siguiente ejemplo de códigos muestra cómo incluir un {@link android.support.v7.widget.CardView} en tu diseño:</p>

<pre>
&lt;android.support.v7.widget.CardView
    android:id="&#64;+id/card_view"
    android:layout_width="200dp"
    android:layout_height="200dp"
    card_view:cardCornerRadius="3dp">
    ...
&lt;/android.support.v7.widget.CardView>
</pre>

<p>Para más información, consulta <a href="{@docRoot}training/material/lists-cards.html">Crear listas y tarjetas</a>.</p>


<h2 id="Animations">Personalizar tus animaciones</h2>

<p>Android 5.0 (nivel de API 21) incluye nuevas API para crear animaciones personalizadas en tu aplicación. Por ejemplo, puedes habilitar las transiciones de actividades y definir una transición de salida dentro de una actividad:</p>

<pre>
public class MyActivity extends Activity {

    &#64;Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // enable transitions
        getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
        setContentView(R.layout.activity_my);
    }

    public void onSomeButtonClicked(View view) {
        getWindow().setExitTransition(new Explode());
        Intent intent = new Intent(this, MyOtherActivity.class);
        startActivity(intent,
                      ActivityOptions
                          .makeSceneTransitionAnimation(this).toBundle());
    }
}
</pre>

<p>Cuando comienzas otra actividad desde esta actividad, se activa la transición de salida.</p>

<p>Para más información sobre las nuevas API de animación, consulta <a href="{@docRoot}training/material/animations.html">Definir animaciones personalizadas</a>.</p> 
 No newline at end of file
Loading