您没有正确使用Widget.AppCompat.Button.Colored样式.您正在使用父样式(Widget.AppCompat.Button.Colored),但将其应用为主题.这实际上意味着Widget.AppCompat.Button.Colored部分被完全忽略,而只是更改按钮的默认颜色(它的工作原理,但不处理禁用的情况).
相反,您应该使用ThemeOverlay并单独应用彩色样式:
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_login_login_button"
android:theme="@style/AccentButton"
style="@style/Widget.AppCompat.Button.Colored"/>
如this answer on using the Widget.AppCompat.Button.Colored style所述,禁用颜色由colorButtonNormal控制,启用的颜色由colorACC控制.通过使用ThemeOverlay.AppCompat.Dark,textColor自动更改为黑色,这意味着您可能根本不需要自定义的ThemeOverlay.