我在布局中使用标准按钮:
<Button
android:id="@+id/earlier_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="earlier"/>
我想出了如何改变它的颜色而不改变它的默认样式:
earlierButton = (Button) findViewById(R.id.earlier_button);
earlierButton.getBackground().setColorFilter(getResources().getColor(R.color.red_500), PorterDuff.Mode.MULTIPLY);
现在我的问题是,如何设置新的选择器/波纹或更改当前颜色?有谁知道默认的主题/风格,需要为此覆盖?谈论这些按钮:
答案 0 :(得分:0)
您可以设置选择器。
有关详细信息,请参阅此链接。 https://stackoverflow.com/a/28431028/850347
你有按钮,
<Button
android:id="@+id/earlier_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="earlier"/>
你可能有选择,
<强> btn_selecor.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_normal" android:state_pressed="false"/>
<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
</selector>
最后,以编程方式将选择器设置为按钮。
Drawable buttonDrawable = getResources().getDrawable(R.drawable.btn_selector);
buttonDrawable.mutate();
btn1.setBackground(buttonDrawable);
的 EDIT1:强>
当然,您可以使用下面的代码设置Android默认按钮选择器。
在这种情况下,您不需要自己创建选择器。
Drawable buttonDrawable = getResources().getDrawable(android.R.drawable.btn_default);
buttonDrawable.mutate();
btn1.setBackground(buttonDrawable);