¿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 } }); 
  • LibGDX - Selector de color
  • Diseño de material de Android de la barra de herramientas / SupportActionBar
  • Dibujo de mapa de bits de mosaico con alineación inferior
  • El botón de Android indica de forma programática en Java (no en XML)
  • ¿Dónde puedo encontrar un tutorial de spinner wheel?
  • ¿Cómo obtener la instancia de fragmento de la FragmentActivity?
  • ZXing Lector de código de barras: ¿Cómo hacer frontera personalizada alrededor de la pantalla de captura?
  • "Compatibilidad-v4-r4.jar" falta en Maven Repo
  • Cómo ocultar / mostrar el botón en el widget de pantalla de inicio de Android
  • Barra de Acción El Widget de Búsqueda de Sherlock expand no funciona
  • IU distorsionada con Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.