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, 12:41:02
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Background de botones Action Bar

Buenas tengo un problema y es el siguiente. Tengo en el ActionBar dos botones los cuales son un de busqueda y otro que al pulsar te lleva a un carrito de la compra.

Este es el xml del menu:

Código:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".main" >
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="@string/action_search"/>
    <item android:id="@+id/action_carrito"
        android:title="@string/action_example"
        android:icon="@drawable/ic_carrito"
        app:showAsAction="always" />
</menu>
El caso es que quiero cambiar el background del botón del carrito y lo que estoy realizando es lo siguiente, en el styles.xml de mi app:

Código:
<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="actionBarStyle">@style/MyActionBar</item>

        <item name="actionButtonStyle">@style/MyActionButtonStyle</item>
        <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@android:color/white</item>
        <item name="android:textSize">18sp</item>
    </style>

    <style name="MyActionButtonStyle" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:background">@color/darker_green</item>
    </style>

</resources>
Lo señalado es lo referente a lo que estoy haciendo para poner el botón del carrito en verde, el caso es que me lo hace perfecto, pero también le añade al botón de buscar ese background, creo que algo lógico porque le estoy diciendo que "actionButtonStyle", pero habría alguna forma de hacer que solo le de ese color darker_green a ese botón en particular.

Si podéis echarme una mano, gracias de antemano.
Responder Con Cita


  #2  
Viejo 08/11/14, 22:30:04
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola he intentado hacer lo siguiente... Para solucionar esté problema que me surge os dejo el código:

Primeramente decir que he eliminado del archivo styles.xml MyActionButtonStyle, que anteriormente mencionaba.

Archivo action_carrito_bg.xml:
Código:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/darker_green"></solid>
        </shape>
    </item>
    <item>
        <bitmap android:src="@drawable/ic_carrito"/>
    </item>
</layer-list>
Archivo menu.xml:
Código:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".main" >
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_search"
        app:showAsAction="always|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:title="@string/action_search"/>
    <item android:id="@+id/action_carrito"
        android:title="@string/action_example"
        android:icon="@drawable/action_carrito_bg"
        app:showAsAction="always" />
</menu>
El problema es que si ahora hace lo que deseaba, el color verde lo aplica solo al botón de action_carrito, pero no logro quitar el padding de alrededor, soy un tanto novato, y he podido ver que este padding lo pone como por defecto, si me confundo rectificarme. También he intentado añadir el siguiente código en shape, para que coja el size total del ActionBar.

Código:
<size android:height="@android:attr/actionBarSize" android:width="@android:attr/actionBarSize"/>
Alguien sabe en que me estoy equivocando? Gracias de antemano.
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: 23:31:09 (GMT +1)

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