渡しているコードを見かけました。これがなぜよくないのか説明します。スタイル属性を取得するのに使われます。@style/MyButtonStyle)の優先度で適用されます。持っているテーマ情報を使っているのです。渡してはいけない理由がわかったでしょうか。テーマが全く利用されません。実際にやってみましょう。Theme.AppCompat.Light(白系)を指定します。Theme.AppCompat(黒系)の色になってしまっています。