https://developer.android.com/reference/android/support/design/widget/Snackbar.htmlsetActionTextColor
に記載されているように、Snackbar のアクション テキストの色を設定できます。ただし、テキストを BOLD にする方法はありますか?
ありがとう!!
https://developer.android.com/reference/android/support/design/widget/Snackbar.htmlsetActionTextColor
に記載されているように、Snackbar のアクション テキストの色を設定できます。ただし、テキストを BOLD にする方法はありますか?
ありがとう!!
snackbar_action
リソース IDを使用します。Snackbar の Message テキストのスタイルを設定するために使用する方法と同じ方法を使用して、Snackbar の Action テキストのスタイルを設定できることがわかります。
snackbar_action
の代わりにリソース ID を使用するだけですsnackbar_text
。
メッセージ テキストとアクション テキストの両方のスタイルを設定する例を次に示します。
Snackbar snackbar = Snackbar.make( ... ); // Create the Snackbar however you like.
TextView snackbarActionTextView = (TextView) snackbar.getView().findViewById( android.support.design.R.id.snackbar_action );
snackbarActionTextView.setTextSize( 20 );
snackbarActionTextView.setTypeface( snackbarActionTextView.getTypeface(), Typeface.BOLD );
TextView snackbarTextView = (TextView) snackbar.getView().findViewById( android.support.design.R.id.snackbar_text );
snackbarTextView.setTextSize( 16 );
snackbarTextView.setMaxLines( 3 );
この例では、アクション テキストにTextSize
20 と太字Typeface
を設定し、メッセージ テキストにTextSize
16 と最大 3 行を許可するように設定しました。
BOLDテキストをSnackbar テキストに追加する最も簡単な方法は、 Android Html クラスを使用して Snackbar.make() 関数に渡すテキストを生成することです。次に例を示します。
Snackbar.make(view, Html.fromHtml("Add <b>bold</b> to Snackbar text"), Snackbar.LENGTH_LONG).show();
別の方法は、SpannableStringBuilderクラスを使用することです。
SpannableStringBuilder snackbarText = new SpannableStringBuilder();
snackbarText.append("Add ");
int boldStart = snackbarText.length();
snackbarText.append("bold");
snackbarText.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), boldStart, snackbarText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
snackbarText.append(" to Snackbar text");
Snackbar.make(view, snackbarText, Snackbar.LENGTH_LONG).show();