为什么更改默认按钮的颜色使其在Android中看起来像RECTANGLE?

Pri*_*tam 5 android

为什么更改默认按钮的颜色会使其看起来像RECTANGLE形状?我不想为此使用自定义背景图像.我想以编程方式执行此操作,以便在几个条件下更改屏幕上许多小按钮的颜色.谁能给出解决方案?

PS ==>通过阅读http://groups.google.com/group/android-beginners/browse_thread/thread/e1313e2c98e9c52b似乎没有解决方法

或者有没有?

Pri*_*tam 8

换颜色:

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

用于去除颜色:

Drawable d = findViewById(R.id.button_name).getBackground();
               findViewById(R.id.button_name).invalidateDrawable(d);
               d.clearColorFilter();
Run Code Online (Sandbox Code Playgroud)