¿Por qué cambiar el color del botón predeterminado hace que parezca RECTANGLE en Android?

¿Por qué cambiar el color del botón predeterminado hace que se vea RECTANGULAR forma? No quiero usar imágenes de fondo personalizadas para esto. Quiero hacer esto programáticamente para pocas condiciones en las cuales cambio los colores de muchos pequeños botones en la pantalla. ¿Puede alguien dar una solución?

PS ==> Parece que no hay ninguna solución al leer este http://groups.google.com/group/android-beginners/browse_thread/thread/e1313e2c98e9c52b

O hay alguna?

Para cambiar el color:

Drawable d = findViewById(R.id.button_name).getBackground(); PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP); d.setColorFilter(filter); 

Para quitar color:

 Drawable d = findViewById(R.id.button_name).getBackground(); findViewById(R.id.button_name).invalidateDrawable(d); d.clearColorFilter(); 

Puede utilizar la siguiente secuencia de comandos XML en lugar de Asignar colores como backgroud. En primer lugar permítanme decirles que, la vista de botón por defecto es un rectángulo así que cuando usted acaba de agregar una vista de botón en su diseño, es tener un estilo de fondo predeterminado asignado y por eso se puede ver con esquinas redondeadas. Cuando se asigna el backgroud, el stype / tema predeterminado se anulará y obtendrá el botón en el formulario original por lo que aquí tiene que aplicar el tema / stype según su requisito. Si lo desea por unos pocos botones, entonces puede utilizar el siguiente XML scrupt. Usted acaba de crear un archivo .xml en su drawable bajo recursos en el proyecto android. Luego asigne ese archivo .XML como fondo de su vista de botón. Y ver qué pasa …

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#ffffff"/> <corners android:radius="6dp"/> <padding android:left="3dp" android:top="2dp" android:right="3dp" android:bottom="2dp" /> </shape> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.