¿Cómo puedo hacer que un TextView se vea como un botón?

Tengo una ListActivity en Android. Cada fila es sólo un elemento que inicia otra actividad con algún recurso. Por defecto esto es, por supuesto, un TextView.

Me gustaría (y por "me gustaría", me refiero a "el cliente insiste") que TextView para parecerse a un botón. Si en realidad los hago Botones, el manejador de clics de listas predeterminado ya no funciona – incluso si no son enfocables – así que tengo que escribir código para inflar manualmente la vista que contiene el botón y establecer un controlador de clics.

¿Hay alguna manera en lugar de mí apenas puedo hacer que el TextView se parece a un botón sin ningunos de los comportamientos de un botón?

4 Solutions collect form web for “¿Cómo puedo hacer que un TextView se vea como un botón?”

Debería poder configurar el estilo en el archivo XML de diseño.

Consulte http://developer.android.com/reference/android/R.style.html para obtener una lista del estilo de plataforma incorporado. No estoy seguro de lo bien que funcionaría, pero es razonablemente fácil de hacer. Prueba esto:

<TextView android:layout_height="wrap_content" style="@android:style/Widget.Button" android:layout_marginRight="5sp" android:text="" android:layout_width="fill_parent"></TextView> 

EDIT: el problema es que el estilo de botón predeterminado establece el atributo android:clickable . Pruebe a agregar el atributo android:clickable y android:clickable en false:

 <TextView android:layout_height="wrap_content" style="@android:style/Widget.Button" android:layout_marginRight="5sp" android:text="" android:clickable="false" android:layout_width="fill_parent"></TextView> 

Joe,

Debería ser capaz de crear un Drawable de un botón y usar setBackgroundDrawable() en TextView .

Alternativamente, puede utilizar el atributo XML de android:background .

Tome esta disposición completa de mi proyecto:

 <?xml version="1.0" encoding="utf-8"?> <!-- Solution 1: New Button appearance --> <!--TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" style="@android:style/Widget.DeviceDefault.Button" android:textAllCaps="false" android:focusable="false" android:clickable="false" /--> <!-- Solution 2: Old Button appearance --> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:drawable/btn_default" android:gravity="center_vertical|center_horizontal" /> 

Sin clickable = false onItemClick () no se dispara en ListView / GridView, etc.

Sin focusable = false no tiene el efecto de botón presionado cuando presiona un botón TextView.

En el conjunto de vistas de texto XML:

 android:clickable="true" 

Y en el conjunto de archivos java:

 TextView youtTextView=(TextView)findViewById(R.id.yourTxt); youtTextView.setOnClickListener(new OnClickListener() { public void onClick(View v) { //code your button click action/event } }); 
  • Implementación de las directrices de diseño de Google para Sliders
  • Android: Un buen menú de configuración (estándar)
  • Cómo crear una aplicación para tablets y dispositivos móviles
  • ¿Por qué el teclado virtual muestra o no cuando se inicia una actividad?
  • Tratar de implementar una confirmación de salida en mi aplicación para Android
  • Android 4.2.1 carácter incorrecto kerning (espaciado)
  • Independiente android ventana de monitor en android studio 2.1
  • ¿Una manera fácil de construir la interfaz de usuario de Android?
  • IU distorsionada con Android
  • Diseño de GUI LCD de 5.7 "de 640x480 de diseño Android
  • Simple AlarmManager ejemplo para disparar una actividad en 10 minutos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.