-
Notifications
You must be signed in to change notification settings - Fork 0
/
SnackBarHelper.cs
32 lines (27 loc) · 1.31 KB
/
SnackBarHelper.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using Android.Graphics;
using Android.Util;
using Android.Views;
using Android.Widget;
using AndroidX.Core.Content;
using Google.Android.Material.Snackbar;
namespace com.companyname.navigationgraph8net8
{
public class SnackBarHelper
{
public static void ShowSnackbar(View viewToAttachTo, string message, int lines)
{
//See https://m3.material.io/components/snackbar/overview. etc
Snackbar snackbar = Snackbar.Make(viewToAttachTo, message, Snackbar.LengthIndefinite).SetAction("OK", v => { });
//snackbar.SetDuration(duration); // Removed the parameter in Material 3.
TypedValue typedValue = new();
viewToAttachTo.Context!.Theme!.ResolveAttribute(Resource.Attribute.colorPrimary, typedValue, true);
int color = ContextCompat.GetColor(viewToAttachTo.Context, typedValue.ResourceId);
//snackbar.View.SetBackgroundColor(new Color(color)); // Doesn't work in Material 3. Replace with SetBackgroundTint
snackbar.SetBackgroundTint(new Color(color));
View view = snackbar.View;
TextView? tv = view.FindViewById<TextView>(Resource.Id.snackbar_text);
tv!.SetMaxLines(lines);
snackbar.Show();
}
}
}