Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 07/11/14, 11:28:13
Avatar de joselehhh
joselehhh joselehhh no está en línea
Usuario muy activo
Mensajes: 1,111
Compra y venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Versión de ROM: 7.0
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 2 hilos
Tabs en action bar - Pantalla horizontal

Buenas,
Actualizando estos días una sencilla app que hice a material design, me he encontrado con un problemilla que no se como solucionar.

Antes yo tenía un tabhost con dos tabs, al querer actualizar el diseño, vi que las tabs ahora se integraban con el ActionBar quedando como un todo en uno. Cambié entonces la forma de crear mis tabs, pasando de un tabhost a dos fragments:
En el tablistener instancio los fragments
Código:
 ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.setTitle(R.string.activity_main_title);
        actionBar.setDisplayShowTitleEnabled(true);
        Tab tab = actionBar.newTab()
                .setText("2x2")

                .setTabListener(new TabListener<Tab1>(
                        this, "2x2", Tab1.class));
        actionBar.addTab(tab);

        tab = actionBar.newTab()
                .setText("3x3")
                .setTabListener(new TabListener<Tab2>(
                        this, "3x3", Tab2.class));
        actionBar.addTab(tab);
El caso es que la vista en el modo vertical es correcta (dejo las capturas) pero en horizontal los tabs se quedan en la misma línea que el label del actionbar y no se representan bien.

A ver si alguien puede guiarme o algo. Muchas gracias!
Imágenes Adjuntas
Tipo de Archivo: jpg portrait.JPG (13.7 KB, 23 visitas)
Tipo de Archivo: jpg landscape.JPG (16.8 KB, 24 visitas)
Responder Con Cita


  #2  
Viejo 10/11/14, 15:52:09
Avatar de joselehhh
joselehhh joselehhh no está en línea
Usuario muy activo
Mensajes: 1,111
Compra y venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Versión de ROM: 7.0
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 2 hilos
Lo subo por si alguien tiene una ligera idea de lo que puede ser. Muchas gracias!
Responder Con Cita
  #3  
Viejo 15/11/14, 23:26:41
Avatar de LEAJIM_454
LEAJIM_454 LEAJIM_454 no está en línea
Miembro del foro
Mensajes: 215
 
Fecha de registro: nov 2012
Mensajes: 215
Modelo de smartphone: Galaxy Ace
Versión de ROM: 2.3.6 Stock
Tu operador: Otra
Mencionado: 1 comentarios
Tagged: 0 hilos
Para ayudarte supongo que deverias poner el el xml de tu layout donde está el tab y estas seguro que no tienes un dos layouts? tal ves en uno de esos dice en layout_width="wrap_content" en ves de "match_parent", estoy casi seguro que no es problema de codigo java sino mas bien de tu layout... saludos.
Responder Con Cita
  #4  
Viejo 16/11/14, 01:15:00
Avatar de joselehhh
joselehhh joselehhh no está en línea
Usuario muy activo
Mensajes: 1,111
Compra y venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Versión de ROM: 7.0
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 2 hilos
Hola, gracias por la respuesta.

Antes usaba un tabhost que tenía definido en un layout desde el cual incluía los dos tabs como otros dos layouts diferentes.
include tab1.xml
include tab2.xml

Pero ahora me he puesto a actualizar la app para ver que tal quedaba con el nuevo estilo Material design y vi que los tabs iban integrados en el action bar de forma que con el código que puse en el primer mensaje se crean los tabs.

Lo único que tengo en un xml es la personalización del estado de selección y pulsación de las tabs como un drawable. No se porqué en horizontal se quedan los tabs como embebidos en una línea.

He visto algunas cosas por stackoverflow pero no me han dado resultado, así que no se realmente que puede ser.

Un saludo!
Responder Con Cita
  #5  
Viejo 25/11/14, 19:30:25
Avatar de joselehhh
joselehhh joselehhh no está en línea
Usuario muy activo
Mensajes: 1,111
Compra y venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Versión de ROM: 7.0
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 2 hilos
Mirando los stilos encontre que tenía estas dos líneas:

Código:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
        <item name="android:windowNoTitle">true</item>
 <item name="actionBarTabStyle">@style/AppTheme.ActionBarTabStyle</item>
        <item name="android:actionBarTabStyle">@style/AppTheme.ActionBarTabStyle</item>

    </style>
Eliminé
Código:
 <item name="actionBarTabStyle">@style/AppTheme.ActionBarTabStyle</item>
y ahora no es que se haya solucionado del todo, pero por lo menos en horizontal hay mas espacio entre las tabs. Otra cosa que he visto es que si inicio la app teniendo el móvil en horizontal, si que se representa bien, es decir, alineado con el título, con espacio suficiente entre las tabs y con la barrita de color que indica el estado selected. Si la inicio en vertical y luego lo pongo en horizontal, los tabs mantienen suficiente espacio entre ellos pero no parecen estar alineados con el título, como pasaba con las capturas de arriba, como tampoco se muestra la barrita que indica cual está seleccionada...
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 03:44:51 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007