PDA

Ver la Versión Completa : [ CONSULTA ] Cambiar el tipo de letra a tu aplicacion


carrobe1390
19/02/13, 04:53:46
He estado desarrollando un aplicación y ya por finalizar he dados unos retoques de elegancia y necesito saber si puede cambiar el tipo de letra para que sea diferente y un poco mas vistosa...?

rinxe
19/02/13, 12:41:05
Puedes cambiar el tipo de letra y poner la que quieras. Pero hay que tener cuidado con los derechos de autor y los tipos de letra que le pones si vas a hacer una app comercial.

Yo he usado o he acoplado este codigo cuando me a sido necesario:
Typeface fuente = Typeface.createFromAsset(getAssets(), "POST.TTF");
patrocinado.setTypeface(fuente);

El "POST.TTF" seria el tipo de fuente, y ese archivo hay que meterlo en la carpeta assets. Y "patrocinado" seria el textviw, button, ... al que le quieres aplicar esa fuente.

mocelet
19/02/13, 12:43:47
Y también lo puedes definir en XML con el atributo typeface, supuesto que tengas definidas las vistas en XML en vez de en código.

Edito: pues no, por XML solo tipos de sistema, para añadir una fuente es por código

rinxe
19/02/13, 13:20:17
En el XML no he llegado a probarlo pero esta bien saberlo !!

PD: Una instancia menos en nuestro codigo

mocelet
19/02/13, 14:11:44
Igual me he colado con lo del XML, el atributo typeface es para cambiar el tipo de letra, de las que vienen en el sistema (serif, monospace, etc.), no para añadir una fuente personalizada. La fuente personalizada hay que añadirla vía código en cualquier caso.

carrobe1390
19/02/13, 14:45:24
Puedes cambiar el tipo de letra y poner la que quieras. Pero hay que tener cuidado con los derechos de autor y los tipos de letra que le pones si vas a hacer una app comercial.

Yo he usado o he acoplado este codigo cuando me a sido necesario:
Typeface fuente = Typeface.createFromAsset(getAssets(), "POST.TTF");
patrocinado.setTypeface(fuente);

El "POST.TTF" seria el tipo de fuente, y ese archivo hay que meterlo en la carpeta assets. Y "patrocinado" seria el textviw, button, ... al que le quieres aplicar esa fuente.

Y para aplicarrllo en unn spinner??? Se podra?

mocelet
19/02/13, 15:26:36
Si te defiendes con el inglés, en stackoverflow está resuelto casi todo: http://stackoverflow.com/questions/5483495/how-to-set-font-custom-font-to-spinner-text-programmatically

La idea es que el spinner es un conjunto de textviews y hay que cambiar la letra a cada textview.

carrobe1390
20/02/13, 00:29:07
Si te defiendes con el inglés, en stackoverflow está resuelto casi todo: http://stackoverflow.com/questions/5483495/how-to-set-font-custom-font-to-spinner-text-programmatically

La idea es que el spinner es un conjunto de textviews y hay que cambiar la letra a cada textview.


private class MyArrayAdapter extends ArrayAdapter<String>{

public MyArrayAdapter(Context context, int textViewResourceId) {
super(context, textViewResourceId);
}


public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
font = Typeface.createFromAsset(getAssets(), "gloriahallelujah.ttf");
((TextView) v).setTypeface(font);
return v;
}


public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v =super.getDropDownView(position, convertView, parent);
font = Typeface.createFromAsset(getAssets(), "gloriahallelujah.ttf");
((TextView) v).setTypeface(font);
return v;
}

}

sp = (Spinner)findViewById(R.id.spinner1);

ArrayAdapter<CharSequence> adapter = MyArrayAdapter.createFromResource(this, R.array.MarcasdeAutos,R.layout.spinner_layout);
adapter.setDropDownViewResource(android.R.layout.s imple_spinner_dropdown_item);
sp.setAdapter(adapter);

Llamo al xml spinner_layout

<?xml version="1.0" encoding="utf-8"?>

<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/spinnerItemStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="9pt"
android:singleLine="True"
android:id="@+id/spinnerTarget"
android:textColor="#000000">
</TextView>


pero aun asi sigue sin funcionar... :'( que estoy realizando mal?

rinxe
20/02/13, 13:29:04
Igual me he colado con lo del XML, el atributo typeface es para cambiar el tipo de letra, de las que vienen en el sistema (serif, monospace, etc.), no para añadir una fuente personalizada. La fuente personalizada hay que añadirla vía código en cualquier caso.

Tienes toda la razon, con ese atributo solo tienes 3-4 posibilidades, no habia caido, jejej.


Y esto va para carrobe1390, haber si este post te ayuda:
http://stackoverflow.com/questions/4361604/how-to-change-the-spinner-font-color

En vez de poner la linea de cambiar el color al texto, pon la de setTypeface..