fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(PrivateDealActivity.this, R.color.colorWhite)));
これは機能していません。フローティングアクションボタンの背景色を変更する方法
ぜひお試しください。
app:backgroundTint="@Android:color/darker_gray"
マテリアルコンポーネントFloatingActionButton
および マテリアルtheme デフォルトでは、属性colorSecondary
の色を使用します。
この色を変更するには、さまざまなオプションがあります。
app:backgroundTint
属性を使用できます。<com.google.Android.material.floatingactionbutton.FloatingActionButton
...
app:backgroundTint=".." />
<item name="backgroundTint">
属性を使用してカスタムスタイルを使用できます <!--<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item> -->
<style name="MyFloatingActionButton" parent="@style/Widget.MaterialComponents.FloatingActionButton">
<item name="backgroundTint">....</item>
</style>
materialThemeOverlay
属性を使用してデフォルトを上書きすることもできますコンポーネントの場合のみcolorSecondary
: <style name="MyFloatingActionButton" parent="@style/Widget.MaterialComponents.FloatingActionButton">
<item name="materialThemeOverlay">@style/MyFabOverlay</item>
</style>
<style name="MyFabOverlay">
<item name="colorSecondary">@color/custom2</item>
</style>
あなたが使うことができます
app:backgroundTint="@color/colorAccent"
以下のように
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/add_student_house"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
app:backgroundTint="@color/colorAccent"
Android:src="@drawable/ic_house_add"/>
app:backgroundTintではないことに注意してくださいAndroid:backgroundTint
また、スタイルを追加することでそれを行うことができます:
<style name="AppTheme.FloatingActionButton" >
<item name="colorAccent">@color/colorAccent</item>
</style>
そして、このスタイルを以下のようなフローティングアクションボタンのテーマとして指定します。
Android:theme="@style/AppTheme.FloatingActionButton"
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/add_student_house"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.FloatingActionButton"
Android:src="@drawable/ic_house_add"/>
この属性を使用するだけです。
Android:backgroundTint="@color/yourColor"
問題の簡単な解決策は、デフォルトのcolorAccentを変更することです。
Android Developers-FloatingActionButton で述べられているように:
このビューの背景色は、デフォルトでテーマのcolorAccentになります。実行時にこれを変更したい場合は、setBackgroundTintList(ColorStateList)を介して変更できます。
プロジェクトの要件に関して、色のアクセントを変更できない場合でも、プログラムでこれを実装する必要がある場合は、コードを投稿できます。回答を更新させていただきます。