Objeto auxiliar para inyectar tipografía en varias vistas de texto de Android.
Podemos usar varios activos de tipos de letra personalizados para cualquier visión de texto (como TextView, Button, RadioButton, EditText, etc.), pero no hay forma de establecer el tipo de letra como un tema de estilo para aplicar el tipo de letra para las pantallas generales en la aplicación.
Esta biblioteca ayuda a hacerlo de manera fácil :)
Y también hay un error serio de que crear tipos de letra de Asset Resource causará una fuga de memoria (consulte este enlace para obtener más detalles), esta biblioteca también se encargará de este problema.
Primero, coloque su tipo de letra en el directorio asset .
En su clase de aplicación, tenga cuidado con el ciclo de vida del objeto auxiliar.
public class MyApp extends Application {
@ Override
public void onCreate () {
super . onCreate ();
TypefaceHelper . initialize ( this );
}
@ Override
public void onTerminate () {
TypefaceHelper . destroy ();
super . onTerminate ();
}
}Y en su actividad, si desea establecer su tipo de letra en una vista de texto,
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
TextView hello = ( TextView ) findViewById ( R . id . hello_world );
TypefaceHelper . getInstance (). setTypeface ( hello , "font/font_file.ttf" );
}
}También puede configurar su tipo de letra para todas las vistas de texto que pertenecen a un grupo de vista específico como este.
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . activity_main );
LinearLayout container = ( LinearLayout ) findViewById ( R . id . text_container );
TypefaceHelper . getInstance (). setTypeface ( container , "font/font_file.ttf" );
}
}Si desea aplicar el tipo de letra para todas las vistas de texto en el diseño de actividad,
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( TypefaceHelper . getInstance (). setTypeface ( this , R . layout . activity_main , "font/font_file.ttf" ));
}
}¡Agradable y fácil!
Puede aplicar el tipo de letra a toda su ventana como esta.
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . layout_activity_main );
TypefaceHelper . getInstance (). setTypeface ( this , "font/font_file.ttf" );
}
}Y ... también puede pasar el nombre de fuente como una identificación de recursos de cadena:
public class MyActivity extends Activity {
@ Override
public void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState );
setContentView ( R . layout . layout_activity_main );
TypefaceHelper . getInstance (). setTypeface ( this , R . string . font_primary );
}
}Gradle:
compile 'com.drivemode:TypefaceHelper:1.2.0@aar'
Copyright (C) 2014 Drivemode, Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
Y la aplicación de muestra usa la siguiente fuente en OFL.