Android LinearLayout con recurso de color: ¿Qué estoy haciendo mal?
Seguí este tutorial para crear una lista de estado de color para una vista de Android en particular. Sólo quiero resaltar cuando se hace clic para que el usuario sabe por qué la pantalla acaba de cambiar.
Cuando se visualiza la vista, obtengo el siguiente error:
- Android como la barra de búsqueda en ActionBar
- ActionbarSherlock: las pestañas no responden en la orientación horizontal
- Reutilizar la vista inflada en android
- LinearLayout no se expande dentro de ScrollView
- Ventaja de usar Single TableLayout en lugar de LinearLayouts múltiples como TableRow extends LinearLayout only
Org.xmlpull.v1.XmlPullParserException: La línea de archivo XML binario # 3: etiqueta requiere un atributo "dibujable" o una etiqueta secundaria que define un dibujable
Mi color XML (en res / color / viewcolor.xml):
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ff33ffff"/> <!-- pressed --> <item android:color="#ff000000"/> <!-- default --> </selector>
Mi diseño XML (en res / layout / myview.xml):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myview" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="top" android:background="@color/viewcolor"> <!--crap in the layout--> </LinearLayout>
¿Qué me perdí?
- Android: Cómo implementar el dibujo en la parte superior de la imagen
- GridView.LayoutParams no existe, el código de Android se rompe
- Con bandas de fondo con dos colores?
- no se pudo instanciar com.google.android.youtube.player.YouTubePlayerView
- Cambie el color del texto del hilandero del holo
- OnGlobalLayoutListener en ListView
- Agregar mediante programación ABOVE a LayoutParams hace que la altura de la vista sea 0
- ¿Qué significa layout_height = "0dp"?
Recuerdo que trabajé alrededor de este error usando el estado dibujable en vez del color del estado. Por alguna razón el fondo de la disposición apenas no trabaja con colores stateful. Por lo tanto, intente crear un estado (por ejemplo, lista de forma dibujable con diferentes colores) y utilizarlo como fondo.
Res / drawable / pressed.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#ff33ffff" /> </shape>
Res / drawable / normal.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#ff000000" /> </shape>
Res / drawable / background.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/pressed" /> <item android:drawable="@drawable/normal" /> </selector>
A continuación, utilice background.xml dibujable como fondo 🙂
En lugar de utilizar formas en su dibujable, puede utilizar el atributo android:drawable
que acepta un recurso de color (por ejemplo, @ color / black).
Layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myview" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="top" android:background="@drawable/myDrawable"> <!-- other views in layout--> </LinearLayout>
My_drawable.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- focused --> <item android:state_focused="true" android:drawable="@color/YOUR_COLOR_HERE" /> <!-- focused and pressed--> <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/YOUR_COLOR_HERE" /> <!-- pressed --> <item android:state_pressed="true" android:drawable="@color/YOUR_COLOR_HERE" /> <!-- default --> <item android:drawable="@color/YOUR_COLOR_HERE" /> </selector>
En my_drawable.xml
debe asegurarse de que los colores especificados se definen en res/values/colors.xml
, o esto no funcionará.
Si desea utilizar una imagen en lugar de un cambio de color de un recurso de color a un recurso dibujable. Ejemplo:
android:drawable="@color/YOUR_COLOR_HERE" android:drawable="@drawable/YOUR_IMAGE_HERE"
- Android L efecto de tacto de la ondulación en la forma?
- E / Surface: getSlotFromBufferLocked: buffer desconocido: 0xab7519c0