Color de fondo del tablerow del cambio de OnClick
Así que estoy tratando de encontrar una manera fácil de obtener el color de fondo o una fila de la tabla para cambiar cuando se hace clic en. He estado tratando de encontrar una manera de llamar a lo que el color de fondo es y comprobarlo, pero no he encontrado una manera de llamar el color. Esto es lo que tengo ahora mismo.
RowName = (TableRow) findViewById(R.id.RowName); RowName.setBackgroundColor(Color.TRANSPARENT); RowName.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (RowName.equals(Color.TRANSPARENT)) RowName.setBackgroundColor(Color.YELLOW); else if (RowName.equals(Color.YELLOW)) RowName.setBackgroundColor(Color.TRANSPARENT); } });
Sé que está mal. Espero que pueda ver lo que estoy tratando de lograr. Si no, lo que quiero hacer es tener el comienzo de la fila de la tabla de transparente. Cuando alguien hace clic en la fila de la tabla, quiero que cambie a amarillo. Luego, si vuelven a hacer clic en él, quiero que vuelva a ser transparente. Gracias.
- ¿Cómo puede llenar el fondo del botón / vista un porcentaje de tamaño?
- Cambiar el color de TextView que se puede hacer clic en el enfoque y hacer clic?
- TextView setTextColor () no funciona
- Texto de contorno de texto de Android
- Establecer color de texto para textView Android
- Android - Cambiar el color azul predeterminado del tema de Holo
- Mezcla de colores en android
- Android Theme.Holo.Dialog cambio de líneas azules a naranja
- ¿Cómo puedo obtener el color de un pixel de pantalla a través de ADB
- Cómo cambiar el menú emergente del color de fondo android
- El color del icono de notificación de Android no se cambia cuando el color de fondo es blanco
- Modos de mezcla de Android
- Eventos Android CalendarProvider Color
Es necesario establecer el color de fondo de la fila en una lista de estado (que maneja seleccionar, presionado, activo, no activo).
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
El XML debería verse así:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Active state --> <item android:state_selected="true" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <!-- Inactive state--> <item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> <!-- Pressed state--> <item android:state_pressed="true" android:drawable="@android:color/yellow" /> <!-- Selected state (using d-pad) --> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/yellow" /> </selector>
Así que aquí está lo que terminó trabajando. Asegúrese de que tiene su TableRows llamado. Antes de mi en crear tengo
private TableRow RowName;
tambien tengo
int estado = 0;
. Luego agrego el código
public void RowName(View view) { switch (state) { case 0: RowName.setBackgroundColor(Color.YELLOW); state = 1; break; case 1: RowName.setBackgroundColor(Color.TRANSPARENT); state = 0; break; } }
Para que funcione, vaya al xml y, en la propiedad OnClick, añada RowName o el nombre del void público con el que está trabajando. Disfrutar.
- Cómo llamar a startActivityForResult en la clase rubricado desde el diseño: main.xml
- Obtener índice de objetos en una lista de Java