1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
page.title=Comencemos
@jd:body
<div id="tb-wrapper">
<div id="tb">
<h2>Esta lección te enseña a realizar lo siguiente:</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>
<!-- res/values/styles.xml -->
<resources>
<!-- your theme inherits from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- theme customizations -->
</style>
</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>
<TextView
android:id="@+id/my_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next"
android:background="@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 uniforme 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>
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="3dp">
...
</android.support.v7.widget.CardView>
</pre>
<p>Para obtener 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 (API nivel 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 {
@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>
|