When using Theme.MaterialComponents.Light.NoActionBar style, setting Button Background has no effect
If you want a true Button
, but one that you can modify like the framework Button
(instead of the MaterialButton
), then you can explicitly specify the framework version in your layout file. Replace this:
<Button android:id="@+id/item_popupwindows_cancel" ... />
with this:
<android.widget.Button
android:id="@+id/item_popupwindows_cancel"
... />
This will give you what it says on the tin: an android.widget.Button
, which should respond to styling the way you expect.
Similarly, you could use a <androidx.appcompat.widget.AppCompatButton>
if you want support library features but not material components features.
In this particular case, the LinearLayout
holding your second Button
seems to have a white background color. That means you don't need to explicitly specify a white background for your Button
; you can just let the LinearLayout
's background show through.
This can be accomplished by using the "Text Button" style of MaterialButton
:
style="@style/Widget.MaterialComponents.Button.TextButton"