Cómo Personalizar el título de tu Aplicación Android

Hay varias maneras de personalizar el título de tu aplicación android, yo trataré de explicar aquí la forma mas sencilla que he encontrado.

La pesonalización del título de tu aplicación consiste básicamente en dos pasos:

  1. Crear un layout donde tendremos nuestro título.
  2. Decirle a nuestra aplicación que lo muestre cuando se cree.

Layout (con una imagen y un título):

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:id=”@+id/main_title_layout”
android:layout_width=”match_parent” android:layout_height=”wrap_content” android:orientation=”horizontal”
android:background=”@android:color/black”>
<ImageView
android:layout_width=”22dp”
android:layout_height=”22dp”
android:contentDescription=”@string/app_name”
android:src=”@drawable/icon”
android:gravity=”center_vertical” />

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_gravity=”center_vertical”
android:paddingLeft=”4dp”
android:text=”@string/app_name”
android:textSize=”12sp”
android:textColor=”@android:color/white”
/>
</LinearLayout>

Supongamos que guardamos el layout con el nombre de “main_title.xml”.

Código para usar el layout anterior en cada Activity

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Habilitamos la personalización del título
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.main_title);
//Otras acciones de nuestra app
}

Bien, esta sería la teoría, pero en la práctica, si añades un fondo a al layout, se puede apreciar que no encaja del todo:

title_black_padding

Esto parece ser que ocurre, porque realmente lo que hacemos con las instrucciones anteriores es insertar ese layout como título, pero dentro del “título” original.
Para poder solucionarlo añadimos las siguientes instrucciones:

View view = getWindow().findViewById(R.id.main_title_layout);
((FrameLayout) view.getParent()).setPadding(0,0, 0,0);

Donde main_title_layout sería el identificador del Layout contenedor de nuestro título personalizado.

Eso es todo!

A disfrutar!

TuLista 2.10

Hola de nuevo.

Ya han pasado bastantes días desde la última versión 2.9 pero aquí está la nueva versión 2.10!!

Novedades:  Se añade un panel de configuración con dos opciones:

– Se podrá deshabilitar el menú de edición de precio y cantidades cuando un producto es marcado en el panel principal. Además se deshabilita por defecto. Varios usuarios me han indicado que es un poco molesto.

– Se permite cambiar la imagen de fondo del listado de productos. Esta opción te permite seleccionar una imagen de la galería y ponerla de fondo. Estoy seguro que a muchos os gustará llevar vuestra propia imagen personalizada 😉

Espero que os guste la mejora.

Si tienes alguna sugerencia será bienvenida! 😀


Android app on Google Play

https://play.google.com/store/apps/details?id=es.blackpent.tulista

TuLista 2.9 Ahora con productos creados por defecto

Esta versión insertará unos cuantos productos por defecto en el histórico cuando se instala, así los nuevos usuarios no tendrán que comenzar desde cero.

Si tienes pocos productos en tu lista e histórico puedes desinstalarla e instalarla de nuevo. Ojo, perderás todos los datos que ya hayas añadido.

Además se cambia la ordenación de la pantalla principal.  Antes se ordenaba por categoría y luego por tachados, ahora se ordena primero por tachados y luego por categorías. Así quedan los productos no tachados primero y luego los tachados.  Así no es tanto lio hacer el seguimiento de los productos que ya has añadido a tu cesta.

Espero que os guste la mejora.

Error “NoClassDefFoundError” con ADT 17

Acabo de actualizar el plugin de eclipse y me he econtrado que no se cargaban las librerias de admob y daba un error.

ComponentInfo{es.blackpent.tulista/es.blackpent.tulista.ListaCompraActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class com.google.ads.AdView
04-02 19:10:51.122: E/AndroidRuntime(212)

Al parecer, la nueva versión del plugin cambia el tratamiento de las librerias añadidas al proyecto.

Este cambio ha provocado o producido dos efectos colaterales:

Las librerias que antes habíamos añadido a la carpeta lib ya no son localizadas ya que ahora la carpeta ha de llamarse libs. Tendrás que crear dicha carpeta y mover las librerias.

Las librerias añadidas en el buildpath de eclipse no son publicadas junto con la aplicación dando fallos al instalarla o ejecutarla en el emulador, (aunque durante el build compile bien).  En este caso, tienes dos opciones, añadirlas a libs o  indicando en las opciones de configuración de Java BuildPath que se exporten. Yo aconsejo la segunda.

Mas info aquí: http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

TuLista 2.6

Esta actualización me ha llevado mas tiempo, pero ya está aquí recién salida del horno!

En esta actualización añade:

  • Categorización de productos, que se muestran agrupados en el listado.
  • Editor de productos avanzados (hay que asignar la categoría 😉 )
  • Se mejora el aspecto de la aplicación.

Espero que os guste!

TuLista:  https://market.android.com/details?id=es.blackpent.tulista

http://qrcode.kaywa.com/img.php?s=5&d=https%3A%2F%2Fmarket.android.com%2Fdetails%3Fid%3Des.blackpent.tulista