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 06/01/15, 09:10:55
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
RecyclerView y selector

Hola compañeros , tengo un problema con recycler view y selcctores xml , el modo normal de usarlos en Listview parece no hacer ningun efecto en recycler view , solo muestra el estado normal no el pressed y nada mas , este es mi codigo:

recycler:

Código:
<android.support.v7.widget.RecyclerView
        android:id="@+id/drawnmenu"
        android:scrollbars="vertical"
        android:layout_width="260dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/windowBackgroundColor"
        android:layout_marginTop="?attr/actionBarSize"
        android:visibility="visible" />
Los xml de seleccion:

Item normal:

Código:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="@color/background_floating_material_light"
        android:endColor="@color/background_floating_material_light"
        android:angle="90" />
</shape>
Item pressed:

Código:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="@color/colorPrimary"
        android:endColor="@color/colorPrimary"
        android:angle="90" />
</shape>
El selector (list_selector):

Código:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/list_item_bg_normal" android:state_activated="false"/>
    <item android:drawable="@drawable/list_item_bg_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/list_item_bg_pressed" android:state_activated="true"/>

</selector>
Y el xml del item en cuestion:

Código:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/itemnormal"
    android:clickable="true"
    android:padding="15dp"
    android:background="@drawable/list_selector">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/icondrawner"
        android:src="@drawable/ic_launcher"
        android:layout_gravity="center_horizontal" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="@string/action_settings"
        android:id="@+id/textitemdrawner"
        android:textStyle="bold|italic"
        android:layout_gravity="center_vertical"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/icondrawner"
        android:layout_toEndOf="@+id/icondrawner"
        android:layout_marginLeft="5dp" />
</RelativeLayout>
Como veis aplico el list_selector al Background del layout principal , pero no hace ningun efecto , solo muestra el estado normal.

Alguna sugerencia? gracias.
Responder Con Cita


  #2  
Viejo 06/01/15, 10:03:21
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Haz 2 cosas:

1) Quita el android:state_activated="false" en la primera línea del selector, el estado normal no precisa de ninguna indicación, el que esté "pressed" no significa que esté "activated", y se muestra lo primero que se encuentra en el selector que cumple la condición.

2) Asegúrate de que has puesto un clickListener asociado a la View, a mi sólo me funciona el pressed si tiene un clickListener o touchListener asociado.
Responder Con Cita
  #3  
Viejo 06/01/15, 20:01:15
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
ok probare
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:06 (GMT +2)

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