我试图在切换时将我制作的按钮的背景颜色更改为某种颜色,并在未旋转时将其改回,但是当我这样做时,颜色会改变按钮的形状。 这是我的代码:
public void onClick(View v){
if(index < 9)
GameEngine.getInstance().setNumber(number);
else if(index == 9)
GameEngine.getInstance().setNumber(number);
else if (index == 12) {
GameEngine.getInstance().draftModeSetter();
v.setBackgroundColor(Color.parseColor("#ffb6c1"));
}
}
以下是结果before color change和结果after color change。您可以清楚地看到“草稿”按钮变得更大并且更加清晰。
答案 0 :(得分:0)
如果使用
设置背景颜色btn.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);
可以使用以下方法重置:
btn.getBackground().clearColorFilter();
答案 1 :(得分:0)
我认为你应该使用xml:shape,选择器如:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<solid android:color="@color/blue_400" />
<stroke
android:width="1dp"
android:color="@color/blue_400" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_comm_bt_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/shape_comm_bt_normal"
android:state_pressed="false" />
</selector>
<Button
...
android:background="@drawable/selector_common_bt"
...
/>