安卓android开发Button控件的background和backgroundInt属性同时存在时只有background属性起作用
首先代码如下
drawable下的.xml文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#ffff0000" android:state_pressed="true"/>
<item android:color="#ff33aa00"/>
</selector>
color下的.xml文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_baseline_accessibility_24"
android:state_pressed="true"/>
<item android:drawable="@drawable/ic_baseline_accessible_24"/>
</selector>
mainActivity中的控件代码:
<Button
android:layout_width="200dp"
android:layout_height="100dp"
android:text="按钮"
android:background="@drawable/btn_selector"
android:backgroundTint="@color/btn_color"
/>
只有drawable资源起作用,按钮依旧是默认的紫色。如图
解决办法:修改res/values/themes下的xml文件:
将
< style name=“Theme.AS_Test1” parent=“Theme.MaterialComponents.DayNight.DarkActionBar”>
修改为
< style name=“Theme.AS_Test1” parent=“Theme.MaterialComponents.DayNight.DarkActionBar.Bridge”>
然后就成功修改点击修改颜色,按下后会变成红色,如图