見出し画像

背景色を変更する|Snackbar|Android|Java|開発裏話

単語帳アプリ「単語帳F」にて実装したので、良ければ実動作も併せて確認してほしい。

ポイント
View#setBackgroundColor はちょっと待って!
View#setBackgroundTintList が目的では?

View#setBackgroundColor を使って背景色を変更してしまうと、Android のデフォルトデザイン(角丸UI)までも上書きしてしまう。

View#setBackgroundTintList を使って目的通り背景の「色だけ」を変更する。

@Override
public void onClick(View view) {
    // make snackbar
    Snackbar snackbar = Snackbar.make(
            view,
            R.string.there_is_no_flashcard,
            Snackbar.LENGTH_LONG);
    
    // set color tint
    snackbar.getView().setBackgroundTintList(
            ColorStateList.valueOf(
                    ContextCompat.getColor(mContext, R.color.red_a200)));
    
    // show snackbar!
    snackbar.show();
}


この記事が気に入ったらサポートをしてみませんか?