El elemento de la vista de cuadrícula no se ilumina cuando se pulsa
Mi aplicación tiene una vista de cuadrícula, De forma predeterminada, Su elemento no se resalta cuando hago clic en él (no sé por qué?). Trato de añadir un selector de lista como a continuación, Pero no funciona demasiado,
<GridView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_above="@+id/load_more_process_id" android:layout_alignParentTop="true" android:drawSelectorOnTop="false" android:listSelector="@drawable/grid_selector" > </GridView>
Aquí mi selector:
- setOnTouchListener no se llama en ViewFlipper
- Android - Cuando se inicia la misma actividad desde el widget con diferentes extras, ¿cómo evitar que aparezca la misma instancia después de regresar del botón HOME?
- Adición dinámica de una vista a un widget de Android
- Escala widget en Android (dp, px, tamaño de pantalla)
- Widget android en evento de clic
<selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@android:color/black"></item> <item android:state_pressed="false" android:drawable="@android:color/white"></item>
- No se puede interactuar con PopupWindow y Background (GoogleMap)
- Cómo iniciar la actividad después de presionar el botón widget?
- Widget de la galería androide desplazamiento infinito
- Mapa de Android sin Internet (sin conexión)
- Android reproduciendo música en fondo
- Cómo implementar un ListView con fastscroll y albhabet indexador
- Cómo actualizar parcialmente las vistas en un widget de aplicación sin reconstruir todas las RemoteViews
- Utilizar fuentes externas en android
Si tiene un elemento seleccionable en el contenido del elemento de lista (o las vistas de cada elemento de cuadrícula), el selector no se dibuja
Por ejemplo, si la plantilla para los elementos de la lista es:
<LinearLayout android:orientation="horizontal" ... > <CheckBox android:id="@+id/checkBox" ... /> <TextView android:id+"@+id/textView" ... /> </LinearLayout>
Entonces ListView no dibujará un selector para cada elemento ListView, porque el CheckBox es, de forma predeterminada, se puede enfocar.
Puede proporcionar un fondo en cada elemento que cambia con el estado de selección o deshabilitar el enfoque en todos los elementos que se pueden enfocar (lo que a su vez requiere que escriba un adaptador de fantasía de hadas para comprobar las casillas de verificación cuando cambia el estado de la selección.
p.ej:
<CheckBox android:id="@+id/checkBox" android:focusable="false" ... />
Hará que un ListView encerrado comience a dibujar el selector de nuevo.
Ejemplo de un dibujo con estado:
Drawable / my_list_selector_bg.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/list_background_pressed" android:state_pressed="true" /> <item android:drawable="@drawable/list_background_focused" android:state_focused="true" /> <item android:drawable="@android:color/transparent" /> </selector>
A continuación, aplicar eso al fondo de cada vista devuelta por su adaptador:
<LinearLayout android:orientation="horizontal" android:background="@drawable/my_list_selector_bg" ... >
Cualquiera de los dos métodos funcionará.
La lista adpater classes (GridView, ListView, & c) llama a hasFocusable () en cada vista devuelta por el adaptador, e inhabilita el dibujo de selección si hasFocusable () devuelve true. Afortunadamente, también replican el estado de selección / enfoque / presionado / activo al elemento de adaptador actualmente seleccionado o seleccionado, por lo que puede dibujarlo usted mismo si lo desea.
Para aquellos de ustedes que están teniendo el mismo problema que yo era, intente
GridView.setDrawSelectorOnTop (true);
Tengo un ImageView y un TextView en cada uno de mis artículos de GridView. Mi selector estaba trabajando, pero estaba dibujando detrás de mi imagen.
-
Diseño de la vista de cuadrícula:
<GridView xmlns:android="http://schemas.android.com/apk/res/android" android:listSelector="@drawable/gridselector"/>
-
Crear selector personalizado gridselector.xml como:
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/selector_item"> <item android:state_pressed="true" android:drawable="@drawable/focus_offfocus"> </item> <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/focus_onfocus"> </item> <item android:state_enabled="true" android:drawable="@drawable/focus_offfocus"> </item> </selector>
- Cualquier forma de ocultar elementos de la webview? (androide)
- ¿Alguien ha escrito una librería de Android para Pusher?