/ /スナックバーのテキストがAndroidで切り捨てられないようにするにはどうすればよいですか? -android、android-snackbar

Android上でスナックバーのテキストが切り捨てられないようにするにはどうすればよいですか? - android、android-snackbar

私はかなり長いテキストメッセージでスナックバーを表示していますが、ポートレートモードの電話ではうまく見えます。

電話ポートレートモード

しかし、タブレットでは1行のテキストしか許可されていないようで、省略記号が追加されます

タブレットランドスケープモード

とにかくタブレットランドスケープで2行になるようにできますか?

回答:

回答№1は24

SnackBarのTextViewは次のように参照できます。

TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);

そして、最大行を変更してTextView自体を操作します。

tv.setMaxLines(3)

回答№2については9

重要であり、他の回答に記載されていないのは、使用する必要があるということです スナックバーのビュー.

そう:

Snackbar snackbar = Snackbar.make(rootView, R.string.message, Snackbar.LENGTH_LONG);
View snackbarView = snackbar.getView();
TextView snackTextView = (TextView) snackbarView
.findViewById(android.support.design.R.id.snackbar_text);
snackTextView.setMaxLines(2);
snackbar.show();

注:これは、画面密度の低いデバイスでも役立つ場合があります


回答№3の場合は3

コンテキストを使用したより複雑で徹底的な例は次のとおりです。

// Create on click listener
final  OnClickListener positiveButtonClickListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
// Do your action - e.g. call GooglePlay  to update app
openGooglePlayAppUpdate();
}
};

// Create snack bar instance
Snackbar sBar = Snackbar.make(findViewById(R.id.some_view_to_bind),  // You bind here e.g. layout, or form view
R.string.snack_bar_message,
Snackbar.LENGTH_INDEFINITE)
// Set text and action to the snack bar
.setAction(android.R.string.ok, positiveButtonClickListener);

// Now get text view of your snack bar ...
TextView snckBarTv = (TextView) offerUpdate.getView().findViewById(android.support.design.R.id.snackbar_text);
snckBarTv.setMaxLines(5); // ... and set max lines
sBar.show(); // and finally display snack bar !