7

https://developer.android.com/reference/android/support/design/widget/Snackbar.htmlsetActionTextColorに記載されているように、Snackbar のアクション テキストの色を設定できます。ただし、テキストを BOLD にする方法はありますか?

ありがとう!!

4

4 に答える 4

15

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 );

この例では、アクション テキストにTextSize20 と太字Typefaceを設定し、メッセージ テキストにTextSize16 と最大 3 行を許可するように設定しました。

于 2016-04-22T17:37:32.820 に答える
0

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();
于 2015-08-31T06:12:56.597 に答える