android - example - snackbar material design
¿Cómo evitar que el texto de mi snackbar sea truncado en Android? (3)
Lo que es importante y no se indica en otras respuestas es que necesita usar la vista de Snackbar .
Asi que:
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();
Nota: esto también puede ayudar con dispositivos con menor densidad de pantalla
Puede hacer referencia al TextView de SnackBar de esta manera:
TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
Y luego opere en el mismo TextView cambiando sus líneas máximas:
tv.setMaxLines(3)
Un ejemplo más detallado y detallado con contexto sería este:
// 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 !